数据包分发策略。可以选择3种类型,默认为2
ip2long(ClientIP) % worker_num
UID % worker_num
,如果需要使用字符串作为UID,可以使用crc32(UID_STRING)
Server
可以使用1
或3
,同步阻塞Server
使用3
,异步非阻塞Server
使用1
2
、4
、5
dispatch_mode 4,5
两种模式,在1.7.8
以上版本可用
dispatch_mode=1/3
时,底层会屏蔽onConnect
/onClose
事件,原因是这2种模式下无法保证onConnect
/onClose
/onReceive
的顺序
非请求响应式的服务器程序,请不要使用模式1或3
dispatch_mode=2/4/5
时为固定分配,底层使用客户端IP取模散列到不同的worker进程,算法为 ip2long(ClientIP) % worker_num
dispatch_mode=1/3
时随机分配到不同的worker进程dispatch_mode
配置在BASE模式是无效的,因为BASE不存在投递任务,当Reactor线程
收到客户端发来的数据后会立即在当前线程/进程回调onReceive
,不需要投递Worker进程。