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