[發明專利]一種分布式實時消息推送方法在審
| 申請號: | 202011372787.6 | 申請日: | 2020-11-30 |
| 公開(公告)號: | CN112511628A | 公開(公告)日: | 2021-03-16 |
| 發明(設計)人: | 盧偉強;何彥霖;李翔 | 申請(專利權)人: | 銀盛支付服務股份有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06;H04L12/58 |
| 代理公司: | 深圳市深可信專利代理有限公司 44599 | 代理人: | 彭光榮 |
| 地址: | 518000 廣東省深圳市龍華*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 實時 消息 推送 方法 | ||
本發明實施例提供一種分布式實時消息推送方法,包括以下步驟:S1:客戶端通過Netty的NIO方式連接服務器;S2:ALLOC服務器查詢服務器連接數最少的服務器地址和端口信息;S3:客戶端通過IP地址和端口與若干服務器建立長連接;S4:ALLOC服務器根據redis中客戶端與服務器連接關系表,自動將服務器的消息推送至對應的客戶端;本發明實施例支持無限水平擴展服務器,進而促使客戶端連接的服務器均衡。
技術領域
本發明涉及通信技術領域,更具體地說,涉及到一種分布式實時消息推送方法。
背景技術
隨著業務量的增長,現階段單臺服務器無法滿足高并發的場景,我們需要多臺機器提供消息推送服務,同時主要考慮到擴展的伸縮性,即加即用,支持無限擴展。
本發明內容
為了克服現有技術的不足,本發明提供一種分布式實時消息推送方法用來解決不支持無限水平擴展服務器,負載不均衡的技術問題。
本發明解決其技術問題所采用的技術方案是:提供一種分布式實時消息推送方法,包括以下步驟:
S1:客戶端通過Netty的NIO方式連接服務器;
S2:ALLOC服務器查詢服務器連接數最少的服務器地址和端口信息;
S3:客戶端通過IP地址和端口與若干服務器建立長連接;
S4:ALLOC服務器根據redis中客戶端與服務器連接關系表,自動將服務器的消息推送至對應的客戶端。
優選地,在客戶端通過Netty的NIO方式連接服務器之前,所述步驟還包括:
生成客戶端和服務器密鑰對、證書倉庫以及自簽名證書;
服務器的自簽名證書導入至客戶端證書庫中;
客戶端的自簽名證書導入至服務器證書庫中。
優選地,在客戶端的自簽名證書導入至服務器證書庫中之后,所述步驟還包括:
對客戶端以及服務器的自簽名證書進行加載和校驗。
具體地,ALLOC服務器查詢服務器連接數最少的服務器地址和端口信息,所述步驟包括:
客戶端基于Nginx通過負載均衡訪問ALLOC服務器;
ALLOC服務器獲取負載最少的服務器地址和端口信息。
優選地,客戶端通過IP地址和端口與若干服務器建立長連接之后,ALLOC服務器根據redis中客戶端與服務器連接關系表,自動將服務器的消息推送至對應的客戶端之前,所述步驟還包括:
ALLOC服務器監聽zookeeper的臨時目錄;
ALLOC服務器獲取長連接服務器的狀態與連接數量。
優選地,ALLOC服務器獲取長連接服務器的狀態與連接數量之后,所述步驟還包括:
當提供長連接業務的服務器出現宕機或者其他問題時,ALLOC服務器通過ZKClient監聽到服務器對應節點的刪除事件;
ALLOC服務器將對應的節點信息從payload服務器列表中刪除;
當節點信息從payload服務器列表中刪除時,客戶端重新連接離線的服務器。
優選地,當節點信息從payload服務器列表中刪除時,客戶端重新連接離線的服務器之后,所述步驟還包括:
長連接業務的服務器啟動之后,在zookeeper對應的根節點下生成服務器對應的節點以及更新節點連接數;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于銀盛支付服務股份有限公司,未經銀盛支付服務股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011372787.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種DX268V智能倍并機
- 下一篇:大體積預制板翻轉裝置





