swoole如何管理集群

swoole如何管理集群

swoole如何管理集群?

swoole websocket server集群怎么做?

問題:

1,swoole websocket集群如何做到自動輪換,保證可靠性

2,swoole websocket server集群中,如何讓 server1 的client A 向 server2 的 client B 推送 信息?

回答:

首先你要了解問題的本質是你不在同一個進程空間里(當然在不同的服務器上),你無法直接通訊,因為無法共享tcp連接或無法直接操作相應的tcp連接

現(xiàn)假如你有個集群里面有同樣服務的多機子(每天當成一個工作進程):A和B

現(xiàn)在你想A里的某連接(某客戶)向B里的某連接(某客戶)通訊的思路:

啟動一臺服務器M

在A和B的啟動進程里,開啟一個連接M的客戶端(分別我們叫C1,C2),并監(jiān)聽事件

A里的某連接(某客戶)發(fā)送消息A服務器,A服務器處理相關的B標識用戶數(shù)據(jù), 轉交給C1,然后C1發(fā)送消息給M服務器

然后M服務器,發(fā)送消息給所有的連接的客戶端(當然這里如果你做了相應的用戶標識,識別到了C2, 直接發(fā)送消息給C2就可以了)

M發(fā)送消息給C2,然后C2根據(jù)標識查找到B里具體的某連接,然后直接發(fā)送消息就好了

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享