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

關于gateway worker原理問題

ayamzh

client-->gateway 1-n -->business 1-n
是不是每個business啟動時 主動找到所有的gateway 并建立一個tcp長連接。

而gateway接到請求數據后,會找一個空閑的business處理,而當business忙時,不在接受請求。

相當于gateway是異步非阻塞的, 兒business是同步的

3958 5 1
5個回答

ayamzh

business忙時 請求是在accept隊列里排隊么 還是在gateway里排隊

  • 暫無評論
walkor 打賞

gateway接到請求數據后,會找一個空閑的business處理

目前是隨機一個business處理,具體參考手冊路由部分

  • ayamzh 2018-07-30

    了解。那這個business如果有未處理的完的請求,GATEWAY又進行了新的請求過來,這時候如果重啟worker進程,那這個新請求是不是就丟掉了?

  • walkor 2018-07-30

    對,有可能

phpcreeper

gateway將請求轉發(fā)給一個隨機的空閑 businessWorker 來處理:

$this->router = array("\\GatewayWorker\\Gateway", 'routerBind'); 
$worker_connection = call_user_func($this->router, $this->_workerConnections, $connection, $cmd, $body);
public static function routerBind($worker_connections, $client_connection, $cmd, $buffer)                                                       
{    
    if (!isset($client_connection->businessworker_address) || !isset($worker_connections)) {
        $client_connection->businessworker_address = array_rand($worker_connections);
    }    

    return $worker_connections;
}    
  • 暫無評論
ayamzh

gateway如果connect到bussiness時,完成三次握手后,進入了accept隊列,但是這時候bussiness被平滑重啟了,會不會丟掉這次請求數據啊

  • 暫無評論
walkor 打賞

如果bussinessWorker正在處理請求,則這個請求不會丟,但是gateway在businessWorker在處理請求的過程中仍然給這個businessWorker轉發(fā)新的請求,這些新的請求可能會丟

  • ayamzh 2018-08-08

    額 那等于平滑重啟有一定風險,有沒有辦法在平滑重啟前,讓gateway不在轉發(fā)新情求

  • walkor 2018-08-08

    目前沒有辦法

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