亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Netty如何做負載均衡(集群)架構

背景:

通過SpringBoot + Netty搭建應用作為IM服務,SpringBoot提供IM業務接口,啟動SpringBoot的時候另外起一條線程啟動Netty框架,作為WebSocket鏈接地址。

?

現在問題是:

例如A客戶端跟www.im.xxx.com/ws創建WebSocket鏈接的時候,與A服務端進行長鏈接。B客戶端跟B服務端進行長鏈接。

那么在A與B之間發送文本信息(聊天內容,Hello World),A服務端無法轉發到B服務端...因為他們的Channel沒有共享...

?

那么通過什么方式可以使應用HA(高可用,集群,非單點)???

0339848381e01a273bf1a74595b775a0836.jpg

正在回答

3 回答

這里需要用到redis的消息發布和訂閱。當客戶端A和服務器1建立netty連接時,根據當前連接的管道名稱進行redis消息訂閱,假設客戶端A和服務器1之間的管道名稱為A1。當客戶端B連接到服務器2又想與服務器1通信時,客戶端B可以根據A1向redis發布消息,因為在這之前服務器1已經消息訂閱了A1,這樣服務器1就可以接收到客戶端B的消息。

0 回復 有任何疑惑可以回復我~

回頭你確定了也給我說下

0 回復 有任何疑惑可以回復我~

我們公司也在用這個,我也還在追尋這塊原理。他們說創建連接后,把連接保存到Redis中,通過NGINX做高可用

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

Netty如何做負載均衡(集群)架構

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號