rpc专家

3. Dubbo线程池模型

2018-04-27  本文已影响43人  WY_250e

dubbo有两种线程池,io线程池、业务线程池
以netty作为io框架为例:
boss线程池: 主要处理新的连接请求, 无界
worker线程池:处理连接的数据交换,无界
注:这两个线程池属于netty范畴,具体用处待学习

业务线程池可选值:

  1. fixed, 默认值,线程数200,队列长度为0.
  2. cached
  3. limited
源码参考接口: com.alibaba.dubbo.common.threadpool

源码实现说明:
netty有Channel、ChannelHandler
dubbo 对应的就有NettyChannel 、 ChannelHandler
利用适配器模式,NettyHandler extends SimpleChannelHandler, 将所有的处理逻辑转到NettyServer(这是一个dubbo类型的ChannelHandler)

NettyServer -> MultiMessageHandler -> HeartbeatHandler -> (Dispatcher类ChannelHandler, 两种线程池的分水岭) -> DecodeHandler -> HeaderExchangeHandler -> ExchangeHandlerAdapter

对accepts的判断是在NettyServer

参考:
https://blog.csdn.net/manzhizhen/article/details/73436619

上一篇 下一篇

猜你喜欢

热点阅读