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