4臺服務器
1臺配wss提供注冊,保留start_register.php
其它三臺刪除start_register.php,并將注冊服務地址改到第1臺內(nèi)網(wǎng)IP上,如下
$gateway->registerAddress = '172.17.20.17:1236';
應用頁面向wss注冊
現(xiàn)在出現(xiàn)一個問題,第1臺TCP特別高,用戶數(shù)越多,TCP連接數(shù)越高,但其它幾臺TCP值基本不變化,這是不是說明群集沒起作用,用戶長鏈接還是集中在第1臺機器上?
用應訪問是有走負載均衡,但wss未走負載均衡只在第一臺上,請問我的配置是否正確
1、應用頁面直接注冊WSS意味著就沒有走負載均衡,所以需要在在gateway前面加一層LVS, 比如常用的nginx,負載流量均衡的關鍵在于合理配置調(diào)度算法,具體的網(wǎng)上遍地是相關文章;
2、至于分布式部署你寫的第一小段也有問題,不止是$gateway->registerAddress要配,$business->registerAddress也一樣要配等等,完整部署方法官方手冊是超級詳細啦:
http://doc2.workerman.net/how-distributed.html
$business->registerAddress 也有指向同一地址,看來原來理解錯了,以為wss是向主的注冊,然后有主的來進行調(diào)度分配跟哪臺建立長鏈接的,正確的應該是4臺都要配wss,再向負載均衡請求,由負載均衡來調(diào)度分配,4臺間只是打通信息的推送一至,對吧
對的,registerAddress 就是用于保證集群之間所有的gateway和businessworker的通訊;然后gateway前面加一層LVS負載均衡就可以啦。