国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

提示

GatewayWorker提供的所有接口都是支持分布式調用的,所以業(yè)務代碼不需要任何更改,直接就可以分布式部署。

如何分布式GatewayWorker

GatewayWorker通過Register服務來建立劃分集群。同一集群使用相同的一組Register服務,即Gateway 和 businessWorker的注冊服務地址($gateway->registerAddress $businessworker->registerAddress)指向相同的Register服務(可以是單機,也可以是集群)。

Gateway BusinessWorker Register之間如何工作的,請看原理

分布式部署的關鍵步驟

1、Register 設置為監(jiān)聽內網ip。為了安全起見,register端口不要暴露給外網。
2、將Gateway 和 businessWorker的注冊服務地址(registerAddress)設置成統(tǒng)一的Register服務地址,如果是部署了多個register服務,格式類似['192.168.0.1:1236','192.168.0.2:1236']。
3、設置Gateway啟動腳本(一般是start_gateway.php)中的lanIp與當前服務器內網ip一致。

部署示例

假如需要部署三臺服務器(192.168.1.1-3)提供高可用服務。

1、設置三臺服務器start_register.php中監(jiān)聽本機內網ip,new Register('text://192.168.1.1:1236'); new Register('text://192.168.1.2:1236'); new Register('text://192.168.1.3:1236');

2、配置三臺服務器start_gateway.php start_businessworker.php中的registerAddress為['192.168.1.1:1236','192.168.1.2:1236','192.168.1.3:1236']。

3、分別配置三臺服務器start_gateway.php中的lanIp為當前服務器的內網ip(192.168.1.1-3)。

4、逐臺啟動,分布式部署完畢。

注意事項及說明:

1、注意多機部署時以下端口不要被服務器安全組阻擋:

①、Register服務監(jiān)聽的端口要可以被其它內網服務器訪問(為了安全,register要監(jiān)聽內網ip不能讓其被外網訪問);

②、start_gateway.php中如果$gateway->startPort=2300; $gateway->count=4;,則2300 2301 2302 2303四個端口需要被設置成能被其它服務器訪問,也就是起始端口$gateway->startPort$gateway->startPort + $gateway->count - 1$gateway->count個端口要設置成能被其它內網服務器訪問。

2、如果多機部署服務器不在一個局域網,部署時ip參數可以使用外網ip(需要GatewayWorker版本>=v3.0.22),對應端口防火墻應該設置成能被外網服務器訪問。

公網集群需要GatewayWorker版本>=v3.0.22
跨公網通訊有安全風險,建議都放在一個內網。

3、三臺GatewayWorker機器都運行了Gateway進程和Worker進程,客戶端連接上任意一臺GatewayWorker的Gateway端口即通訊。

4、為了方便前端接入和擴容,可以在Gateway前加一層DNS、LVS等負載均衡策略(不熟悉DNS LVS的請自行搜索資料學習)。

5、如果服務器不夠用可以使用同樣的方法增加服務器

6、如果需要下線服務器,直接stop對應服務器即可。由于Gateway進程維護著客戶端連接,當服務器下線時,對應服務器的客戶端會掉線一次。如何做到下線機器不影響用戶參考下一節(jié)。

7、因為有多臺gateway服務器,所以需要在gateway前增加一個負載均衡。負載均衡方案是通用的,你可以選擇用nginx負載,或者云廠商的負載均衡,也可以給DNS設置多個A記錄。

編輯于2024-03-13 17:37:33 完善本頁 +發(fā)起討論
贊助商