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解答一下,謝謝!