国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

Channel 如何在多個服務器上做負載均衡?

sorcerer

Channel通訊組件,需要對server服務端做負載均衡,且客戶端worker也在不同的服務器上,在不同客戶端worker上做了長連接。
server服務端做負載均衡可以實現(xiàn)嗎?
各客戶端worker的長連接數據池如何共享?
用戶端通過ws建立連接可以通過負載均衡的IP或lvs嗎?

4077 1 0
1個回答

walkor 打賞

server服務端做負載均衡可以實現(xiàn)嗎?

Channel/Server 目前只能單進程,沒有負載均衡的需要。

各客戶端worker的長連接數據池如何共享?

進程間無法共享連接,當需要操作某個進程的某個/些連接時可以通過Channel通訊組件通知對應進程處理

用戶端通過ws建立連接可以通過負載均衡的IP或lvs嗎?

可以

  • sorcerer 2018-05-18

    那就是說客戶端只能通過真實ip和端口去連接1個Channel/Server進程,在負載多個worker的時候需要把Channel/Server進程與worker分開服務器部署,多個worker支持長連接的負載均衡單無法直接共享數據池,實際用戶在建立連接的時候是不會重復。重連的時候可能會連到服務器和之前握手的不同。在推送的時候需要讓這些worker同時收到消息在對每個worker內的連接進行篩選之后推送。

  • walkor 2018-05-18

    客戶端通過ip 域名 lvs slb nginx負載均衡 haproxy負載均衡等方式都可以去連Channel/Server,沒有限制。

  • walkor 2018-05-18

    我不清楚你說的共享數據池是什么東西

  • walkor 2018-05-18

    推送的時候不一定推給所有worker進程,可以利用channel只推給需要的進程。例如向單個客戶端推送的時候,客戶端id里包含了連接所在的進程信息,那么只需要給對應進程推送即可。這些都是可以自己寫邏輯控制的。

年代過于久遠,無法發(fā)表回答
??