[發明專利]一種基于廣播的分布式微服務注冊及調用方法有效
| 申請號: | 202010082175.7 | 申請日: | 2020-02-07 |
| 公開(公告)號: | CN111615066B | 公開(公告)日: | 2021-07-16 |
| 發明(設計)人: | 侯瑞春;周志明;陶冶;石碩;于樹松;宮會麗;丁香乾;孟宇 | 申請(專利權)人: | 中國海洋大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 青島聯智專利商標事務所有限公司 37101 | 代理人: | 邵新華 |
| 地址: | 266000 山*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 廣播 分布 式微 服務 注冊 調用 方法 | ||
1.一種基于廣播的分布式微服務注冊及調用方法,其特征在于,包括:
在每一個部署有微服務的主機上分別部署注冊中心;
在某一個主機上有新的微服務注冊時,該主機向網絡發送注冊廣播,通知網絡中的其他主機更新其注冊中心中的微服務列表;
在調用者調用微服務時,調用者在所述網絡中發起查詢廣播,并在廣播中發布所需調用的微服務名稱;
部署有同名微服務的主機向網絡發起應答,并提供主機當前的負載情況以及其部署的微服務信息;
調用者在接收到應答后,通過負載均衡器根據不同主機當前的負載情況選擇合適的主機,并向選中的主機傳遞請求參數,調用選中主機上的同名微服務;
所述選中的主機根據自身狀況判斷是否轉發微服務的調用,所述自身狀況包括:主機的連接數、訪問量、CPU使用率、磁盤使用率、網絡使用率、本機注冊的同名微服務的廣播的負載情況;
若無需轉發,則直接執行自身部署的同名微服務,并將執行結果返回給調用者;
若需轉發,則根據同名微服務列表,在考慮權重或響應速度的情況下篩選出另一主機,向其轉發此微服務的調用,并向重新選擇的主機傳遞調用者發送的請求參數;重新選擇的主機根據自身狀況判斷是否轉發此微服務的調用,直到此微服務在某一個主機上成功調用并執行。
2.根據權利要求1所述的基于廣播的分布式微服務注冊及調用方法,其特征在于,在微服務注冊過程中,注冊廣播中包含有新注冊微服務的信息,所述信息至少包括:微服務的名稱、微服務的功能描述、微服務所在主機的IP地址和訪問端口、加入時間、響應狀態。
3.根據權利要求2所述的基于廣播的分布式微服務注冊及調用方法,其特征在于,在所述微服務注冊過程中,所述網絡中的其他主機在接收到注冊廣播后,若自身部署有同名微服務,則更新其同名微服務列表;否則,根據接收到的新注冊微服務的信息更新其非同名微服務列表。
4.根據權利要求1所述的基于廣播的分布式微服務注冊及調用方法,其特征在于,所述主機當前的負載情況包括主機的連接數、訪問量、CPU使用率、磁盤使用率和網絡使用率;所述調用者通過負載均衡器根據不同主機當前的負載情況,選擇剩余資源多的主機進行微服務調用。
5.根據權利要求1至4中任一項所述的基于廣播的分布式微服務注冊及調用方法,其特征在于,所述部署在主機上的所有微服務定時地在網絡中廣播自身的心跳包,網絡中的所有主機在接收到來自不同微服務的心跳包時,自動更新自身微服務列表中與該微服務相關的狀態信息;若在設定時間內未接收到某個微服務返回的心跳包,且心跳包未返回的次數超過設定閾值,則從微服務列表中刪除該多次未返回心跳包的微服務。
6.根據權利要求5所述的基于廣播的分布式微服務注冊及調用方法,其特征在于,所述主機根據微服務名稱確定微服務列表中的同名微服務集,主機定時在網絡中廣播自身的同名微服務集,網絡中的其他主機在接收到此廣播后,查看此廣播中同名微服務集中各微服務狀態的更新時間,若更新時間晚于自身微服務列表中該微服務狀態的更新時間,則更新自身微服務列表中與該微服務相關的狀態信息;若自身微服務列表中不存在該微服務,則在自身微服務列表中注冊該微服務。
7.根據權利要求6所述的基于廣播的分布式微服務注冊及調用方法,其特征在于,所述主機在檢測到其同名微服務集的更新時間與當前時間的差值超過更新閾值,則主機向網絡發送廣播,要求同名微服務廣播其自身的心跳包,以更新同名微服務集中與時間相關的狀態信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國海洋大學,未經中國海洋大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010082175.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:電子模塊
- 下一篇:用于改善高性能計算應用的性能數據收集的方法與設備





