swoole如何管理集群

swoole如何管理集群

swoole如何管理集群?

swoole websocket server集群怎么做?

問題:

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

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

回答:

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

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

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

啟動一臺服務(wù)器M

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

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

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

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

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