workerman的集群怎么開發(fā)

gatewayworker基于workerman開發(fā)的一個(gè)項(xiàng)目框架,用于快速開發(fā)tcp長連接應(yīng)用,例如app推送服務(wù)端、即時(shí)im服務(wù)端、游戲服務(wù)端、物聯(lián)網(wǎng)、智能家居等等

workerman的集群怎么開發(fā)

workerman可以看做是一個(gè)純粹的socket類庫,可以開發(fā)幾乎所有的網(wǎng)絡(luò)應(yīng)用,不管是TCP的還是udp的,長連接的還是短連接的。Workerman代碼精簡,功能強(qiáng)大,使用靈活,能夠快速開發(fā)出各種網(wǎng)絡(luò)應(yīng)用。? ? ? ? ? ? ? ? ? ? ? ? ?(推薦學(xué)習(xí): workerman教程

同時(shí)Workerman相比GatewayWorker也更底層,需要開發(fā)者有一定的多進(jìn)程編程經(jīng)驗(yàn)。

提示

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

如何分布式GatewayWorker

GatewayWorker通過register服務(wù)來建立劃分集群。同一集群使用相同的Register服務(wù)ip和端口,即Gateway 和 businessWorker的注冊服務(wù)地址($gateway->registerAddress $businessworker->registerAddress)指向同一臺(tái)Register服務(wù)。

分布式部署的關(guān)鍵步驟

1、一個(gè)集群只需要一臺(tái)服務(wù)器作為Register服務(wù),用于進(jìn)程啟動(dòng)時(shí)協(xié)調(diào)Gateway與BusinessWorker之間的建立連接通訊,其它服務(wù)器可以刪掉start_register.php文件或者注釋掉里面的代碼。

(Register服務(wù)本身通訊量極低,一般僅在進(jìn)程啟動(dòng)時(shí)通訊,所以Register服務(wù)本身不會(huì)成為瓶頸,運(yùn)行過程中即使Register服務(wù)服務(wù)器暫時(shí)掛掉,也不會(huì)對外網(wǎng)服務(wù)造成影響,所以Register服務(wù)一般不需要做高可用)

2、將Gateway 和 businessWorker的注冊服務(wù)地址(registerAddress)設(shè)置成統(tǒng)一的Register服務(wù)地址,也就是步驟1選擇的Register服務(wù)所在服務(wù)器的ip和端口。

3、設(shè)置Gateway啟動(dòng)腳本(一般是start_gateway.php)中的lanIp與當(dāng)前服務(wù)器內(nèi)網(wǎng)ip一致

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊14 分享