gateway接到一請求后是異步的轉(zhuǎn)發(fā)給worker的嗎?
在同一機器時,這兩種進程之間是怎樣通信的?
worker如果在在另一機器,socket是不是異步非阻塞的?
這幾個問題問得很好。
worker進程中業(yè)務的阻塞處理會影響gateway進程接受新的請求數(shù)據(jù)嗎?
worker進程不會影響gateway進程,即使worker進程由于業(yè)務FatalError等原因掛了退出了,以不會影響gateway進程,會立即產(chǎn)生一個新的worker進程補上。
gateway接到一請求后是異步的轉(zhuǎn)發(fā)給worker的嗎?
答:gateway收到請求后是通過socket長連接異步非阻塞發(fā)送給worker的,同樣worker向gateway發(fā)送的數(shù)據(jù)也是異步非阻塞發(fā)送的。gateway發(fā)給客戶端的數(shù)據(jù)也是異步非阻塞的。
在同一機器時,這兩種進程之間是怎樣通信的?
同一機器,gateway和worker之間的進程是通過異步非阻塞長連接socket通訊的。使用的是127.0.0.1 本地回環(huán),速度微妙級別,極快
worker如果在在另一機器,socket是不是異步非阻塞的?
不同的機器,gateway與worker進程也是通過異步非阻塞socket長連接通訊的,模型和單機一樣,所以分布式部署很方便。