論壇搜索了一番,了解到
gateway收到請求后是通過socket長連接異步非阻塞發(fā)送給worker的
問題1:常規(guī)而言,一個gateway進程,通常能維持多少連接呢?
問題2:這種異步非阻塞 跟 nginx 的那種異步非阻塞 是不是相同的機制,gateway收到請求后,轉發(fā)給worker進程,不會一直阻塞等待worker進程返回結果,轉而馬上處理下一個請求,worker進程處理完畢后,會主動通知gateway進程,然后gateway進程 再把結果返回給客戶端
問題3:gateway 與 worker 進程,每個進程里面,都是單線程的嗎?
問題4:所有的業(yè)務,都在worker進程中處理,那么如果,其中一個請求,處理時間很長,這個時候,worker進程就會阻塞,直到把這個請求處理完畢之后,才會處理下一個請求吧?
總體而言,感覺跟 nginx & php-fpm 有點點類似,nginx 通過事件驅動機制,與 后端的 php-fpm 進行異步非阻塞通信,如果 php-fpm 處理一個請求,稍慢,就會阻塞下一個請求處理
以上,這樣理解,不知道對不對,還勞煩老大指點一二,感激不盡