high_priority_net_thread_count

你好,我在阅读4.0.0.0的文档,敬请赐教,谢谢。

high_priority_net_thread_count用于设置高优先级网络线程数。

问题:
1 这个高优先级网络线程,是干啥的?专用于什么?服务于什么?
2 其他的 低优先级网络线程 , 是干啥的?

1.主要用于选举
2.其他的包括libeasy的I/O线程,比如用户连接(登陆,请求发送,数据接受等)

高优先级网络线程是用来处理选举RPC请求的,当high_priority_net_thread_count设置值大于0时,选举RPC会使用对应的网络IO线程发送和处理请求,其它普通的网络线程在发送和处理的时候会有一个最大占用内存限制,超过限制会返回失败,高优先级网络线程则不会对内存限制,避免在网络线程内存占用过大情况下,选举RPC得不到处理导致无主的问题。
其它普通的网络线程处理选举RPC之外的其它的observer之间的RPC请求,当high_priority_net_thread_count为0的时候,选举RPC也是由这些线程处理的。