[發明專利]微服務集群中更新通知方法及裝置在審
| 申請號: | 202110520630.1 | 申請日: | 2021-05-13 |
| 公開(公告)號: | CN113138995A | 公開(公告)日: | 2021-07-20 |
| 發明(設計)人: | 關海超;夏龍飛;顏高飛;張遠征 | 申請(專利權)人: | 中國工商銀行股份有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F9/54 |
| 代理公司: | 北京三友知識產權代理有限公司 11127 | 代理人: | 任默聞;王濤 |
| 地址: | 100140 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 微服 集群 更新 通知 方法 裝置 | ||
本發明提供了一種微服務集群中更新通知方法及裝置,可用于金融領域或其他領域。所述方法包括:根據從服務端接收到的數據更新信息,生成數據更新通知,并根據所述數據更新信息,確定與所述數據更新信息對應的訂閱者集合;根據預設的分批通知數量以及所述訂閱者集合中的訂閱者個數,確定每批通知訂閱者數量;根據預設的分批間隔時長以及所述每批通知訂閱者數量,向所述訂閱者集合中各訂閱者發送所述數據更新通知。本發明通過確定訂閱者集合進行分批通知的方式,可以有效避免服務端在數據更新后,立即處理大量來自消費方的建連請求,有效降低服務端的TCP隊列溢出次數和CPU的使用率,保證業務交易的平穩。
技術領域
本發明涉及微服務集群技術領域,尤指一種微服務集群中更新通知方法及裝置。
背景技術
目前的分布式微服務集群大多通過RPC框架通信,主流的RPC框架都基于注冊中心做服務發現,以廣泛使用的Dubbo框架為例,它最常使用的注冊中心為Zookeeper。
當集群規模較大時,Consumer的數量可能高達數千甚至數萬個,當Provider發生數據更新時,ZooKeeper借助Watch機制將數據變更通知給Consumer。Consumer集群幾乎同時收到Zookeeper推送過來的數據變更通知,然后又同時向Provider發起建立TCP連接的請求,給Provider和集群網絡帶來很大壓力,極易引發連接風暴,影響業務交易的成功率。
發明內容
針對現有技術中存在的問題,本發明實施例的主要目的在于提供一種微服務集群中更新通知方法及裝置,實現簡單且實施成本低的數據更新通知,能夠有效減少微服務集群連接風暴。
為了實現上述目的,本發明實施例提供一種微服務集群中更新通知方法,所述方法包括:
根據從服務端接收到的數據更新信息,生成數據更新通知,并根據所述數據更新信息,確定與所述數據更新信息對應的訂閱者集合;
根據預設的分批通知數量以及所述訂閱者集合中的訂閱者個數,確定每批通知訂閱者數量;
根據預設的分批間隔時長以及所述每批通知訂閱者數量,向所述訂閱者集合中各訂閱者發送所述數據更新通知。
可選的,在本發明一實施例中,所述根據從服務端接收到的數據更新信息,生成數據更新通知,并根據所述數據更新信息,確定與所述數據更新信息對應的訂閱者集合包括:
根據所述服務端的ip地址、端口號及時間戳,從所述服務端接收數據更新信息;其中,所述數據更新信息包括服務名及版本號;
根據所述服務名及所述版本號,生成所述數據更新通知,并確定與所述服務名對應的訂閱者集合。
可選的,在本發明一實施例中,所述根據預設的分批通知數量以及所述訂閱者集合中的訂閱者個數,確定每批通知訂閱者數量包括:
計算所述訂閱者集合中的訂閱者個數與預設的分批通知數量的比值,將所述比值作為所述每批通知訂閱者數量。
可選的,在本發明一實施例中,所述根據預設的分批間隔時長以及所述每批通知訂閱者數量,向所述訂閱者集合中各訂閱者發送所述數據更新通知包括:
對所述訂閱者集合中的訂閱者進行隨機排序,從隨機排序后的訂閱者中順序選取N個第一批訂閱者,并向所述第一批訂閱者發送所述數據更新通知;其中,N等于所述每批通知訂閱者數量;
在等待所述分批間隔時長后,從除去所述第一批訂閱者后的訂閱者集合中,順序選取N個第二批訂閱者進行數據更新通知發送,直至完成向所述訂閱者集合中所有訂閱者數據更新通知發送。
本發明實施例還提供一種微服務集群中更新通知裝置,所述裝置包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國工商銀行股份有限公司,未經中國工商銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110520630.1/2.html,轉載請聲明來源鉆瓜專利網。





