Gateway的分流是对连接分配进行分流还是对协议定义的数据包进行分流?

SeaEagle233

问题描述

Gateway-Worker同一个连接的数据是否会固定发给一个BusinessWorker服务器下的固定的一个线程处理?

假设一个Gateway,G1
四个BusinessWorker,B1,B2,B3,B4
两个客户端C1,C2,使用TCP与G1建立连接。

C1发送ABCD,G1将ABCD发给B1,B1返回1234给G1,G1返回1234给C1。
C2发送ABCD,G1将ABCD发给B1,B1返回1234给G1,G1返回1234给C2。

我的问题是,后续当C1再次发送ABCD或其他数据的时候,只要不重连,是否永远只会发给B1来处理,不会发给B2?
换句话说,Gateway的分流是对连接分配进行分流还是对协议定义的数据包进行分流?

根据其他问题的回答,Gateway似乎是对连接进行分流,后续的数据都只会抵达特定的BusinessWorker。
不过我想确认一下。

282 1 0
1个回答

walkor

gatewayWorker同一个连接的数据默认会发给同一个businessWorker处理,这部分在文档路由有写
https://www.workerman.net/doc/gateway-worker/router.html

🔝