worker进程中业务的阻塞处理会影响gateway进程接受新的请求数据吗

gateway接到一请求后是异步的转发给worker的吗?
在同一机器时,这两种进程之间是怎样通信的?
worker如果在在另一机器,socket是不是异步非阻塞的?
已邀请:

walkor

赞同来自: real yanpeipan kaifengjk

这几个问题问得很好。
worker进程中业务的阻塞处理会影响gateway进程接受新的请求数据吗?
worker进程不会影响gateway进程,即使worker进程由于业务FatalError等原因挂了退出了,以不会影响gateway进程,会立即产生一个新的worker进程补上。

gateway接到一请求后是异步的转发给worker的吗?
答:gateway收到请求后是通过socket长连接异步非阻塞发送给worker的,同样worker向gateway发送的数据也是异步非阻塞发送的。gateway发给客户端的数据也是异步非阻塞的。

在同一机器时,这两种进程之间是怎样通信的?
同一机器,gateway和worker之间的进程是通过异步非阻塞长连接socket通讯的。使用的是127.0.0.1 本地回环,速度微妙级别,极快

worker如果在在另一机器,socket是不是异步非阻塞的?
不同的机器,gateway与worker进程也是通过异步非阻塞socket长连接通讯的,模型和单机一样,所以分布式部署很方便。

xtjsxtj

赞同来自:

明白了,谢谢

typing - 技术宅

赞同来自:

非常好的问题,非常棒的解答.

学习了~感谢!

米兔 - 一个男人

赞同来自:

膜拜一下。

aidong_wang

赞同来自:

worker 进程如果因为超时,重新创建了一个 worker进行,对于client 来说 tcp 是始终连接的还是会断开一次?

xinxing

赞同来自:

亲自试验过。。

要回复问题请先登录注册