首頁  >  文章  >  php框架  >  swoole如何管理集群

swoole如何管理集群

藏色散人
藏色散人原創
2020-04-10 09:56:223274瀏覽

swoole如何管理集群

swoole如何管理叢集?

swoole websocket server叢集怎麼做?

問題:

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

2,swoole websocket server叢集中,如何讓server1 的client A 向server2 的client B 推播訊息?

回答:

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

現假如你有個叢集裡面有同樣服務的多機子(每天當成一個工作流程):A和B

現在你想A裡的某連線(某客戶)向B裡的某連線(某客戶)通訊的思路:

啟動一台伺服器M

在A和B的啟動進程裡,開啟一個連線M的客戶端(分別我們叫C1,C2),並監聽事件

A裡的某連接(某客戶)發送訊息A伺服器,A伺服器處理相關的B標識用戶資料, 轉交給C1,然後C1發送訊息給M伺服器

然後M伺服器,發送訊息給所有的連接的客戶端(當然這裡如果你做了相應的用戶標識,識別到了C2, 直接發送訊息給C2就可以了)

M發送訊息給C2,然後C2根據標識查找到B裡具體的某連接,然後直接發送訊息就好了

以上是swoole如何管理集群的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn