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

智能家居項目workerman分布式部署問題

xiewen_kevin

Hi Walkor,

 我們目前在做的物聯(lián)網(wǎng)項目(智能家居方面),用的workerman,10臺服務器作分布式部署,分布式通訊組件是Channel,那么,

1 .Channel的Server需要考慮負載的問題嗎? 10臺服務器的workerman分布式部署時,j單獨分配一臺服務器給Channel Server足夠嗎?

2. 每臺服務器wokerman啟用8個進程,對于mysql或者redis的使用,我是在onWorkerStart里面創(chuàng)建連接的(根據(jù)文檔設置為全局變量,常駐內(nèi)存),如下:
     $worker->onWorkerStart = function  ($worker)
     {
         global $redis;
         $redis = new Redis();
         ......
     }
然后在onMessage里面使用redis,如下 :
     $worker->onMessage = function  ($connection, $data)
     {
         global $redis;
         $redis->set('test','test');
         ....
     }

目前這樣使用的話,當大量的設備客戶端上報數(shù)據(jù)并寫redis時,對于復用內(nèi)存中redis連接會不會造成寫入混亂或錯誤的問題? 或者會不會發(fā)生意想不到的數(shù)據(jù)錯誤?

考慮到投放到線上生產(chǎn),麻煩walkor解答一下,謝謝!

4166 1 1
1個回答

walkor 打賞

1、一般來說Channel的Server不用考慮負載,一臺服務器足夠

2、不會放生數(shù)據(jù)錯亂等問題,單個進程內(nèi)部還是每個onMessage是順序執(zhí)行的,沒有并發(fā)問題。

年代過于久遠,無法發(fā)表回答
??