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)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END