[發明專利]一種Zookeeper集群系統及其連接方法和系統有效
| 申請號: | 201810059526.5 | 申請日: | 2018-01-22 |
| 公開(公告)號: | CN108111630B | 公開(公告)日: | 2021-11-02 |
| 發明(設計)人: | 梁云龍 | 申請(專利權)人: | 北京奇藝世紀科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 zookeeper 集群 系統 及其 連接 方法 | ||
本發明實施例提供了一種Zookeeper集群系統及其連接方法和系統,該Zookeeper集群系統包括代理裝置,代理裝置部署在Zookeeper客戶端所在的機器上,Zookeeper客戶端通過該代理裝置與服務端相連接;代理裝置用于接收多個Zookeeper客戶端的心跳信號,并將接收到的多個心跳信號進行合并,再將通過合并得到的心跳信息發送到服務端,以使服務端與相應的Zookeeper客戶端保持連接。由于這里服務端是統一接收的心跳信息,僅對該心跳信息進行處理即可決定連接或者斷開連接,而無需對多個心跳信號進行處理,也就無需消耗太多的CPU和內存,因此能夠有效避免服務端整體性能下降的問題。
技術領域
本發明涉及互聯網技術領域,特別是涉及一種Zookeeper集群系統及其連接方法和系統。
背景技術
Zookeeper集群是被很多互聯網公司廣泛使用的分布式協調系統。Zookeeper作為分布式系統的重要基石,其提供的協調機制被很多重要的大型分布式系統底層所依賴,比如分布式計算系統Hadoop,消息系統Kafka等,且Zookeeper集群依賴Zab協議為用戶提供了一致性的保證,并可提供選主、分布式鎖等功能。
由于Zookeeper集群的底層嚴重依賴ZAB協議,所以其客戶端的寫操作需要在大多數服務端上同時寫成功才被認為寫成功,這種機制導致部署的服務端數目越多則寫操作耗時越長。因此為了保證一致性和寫操作的性能,在部署時一般選擇3臺或5臺機器來部署Zookeeper集群的服務端。Zookeeper自身的限制使得客戶端在連接Zookeeper集群時會隨機選擇一臺服務端,此時客戶端需要通過周期性心跳來與服務端保持連接,當客戶端較多時,對大量的客戶端的周期性心跳的處理會消耗服務端上較多的CPU和內存,從而導致服務端整體性能下降。
發明內容
有鑒于此,本發明提供了一種Zookeeper集群及其連接方法和系統,以解決客戶端較多時因需要消耗較多的CPU和內存而導致性能下降的問題。
為了解決上述問題,本發明公開了一種Zookeeper集群系統,包括代理裝置,所述代理裝置部署在Zookeeper客戶端所在的機器上,每個所述Zookeeper客戶端通過所述代理裝置與服務端相連接,其中:
所述代理裝置用于接收多個客戶端的心跳信號,并將接收到的多個心跳信號進行合并,再將通過合并得到的心跳信息發送到所述服務端。
還提供了一種連接方法,應用于如上所述的Zookeeper集群系統的代理裝置,其特征在于,所述代理裝置包括至少一個處理器,以及與所述處理器相連接的存儲器,所述存儲器存儲有可被所述處理器執行的指令,所述指令被所述處理器執行,以使所述處理器能夠執行如下步驟:
接收多個Zookeeper客戶端發送的心跳信號;
將接收到的多個心跳信號進行編碼處理,得到包含多個心跳信號的心跳信息;
將所述心跳信息發送到所述服務端。
可選的,所述操作步驟還包括:
接收所述服務端所發送的路徑變更事件;
將所述路徑變更事件推送給所有連接的Zookeeper客戶端。
另外,還提供了一種連接系統,應用于如上所述的Zookeeper集群系統的代理裝置,其特征在于,所述連接系統包括:
第一接收模塊,用于接收多個Zookeeper客戶端發送的心跳信號;
信號處理模塊,用于將接收到的多個心跳信號進行編碼處理,得到包含多個心跳信號的心跳信息;
數據發送模塊,用于將所述心跳信息發送到所述服務端。
可選的,還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇藝世紀科技有限公司,未經北京奇藝世紀科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810059526.5/2.html,轉載請聲明來源鉆瓜專利網。





