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

xtjsxtj

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

6818 6 0
6个回答

walkor

这几个问题问得很好。
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

亲自试验过。。

  • 暂无评论
年代过于久远,无法发表回答
🔝