Dubbo线程模型

24 篇文章 0 订阅
21 篇文章 0 订阅

dubbo提供了事件处理线程。对于dubbo事件处理线程说明

  • 如果处理的逻辑能迅速完成,并且不会发起新的Io请求,比如只是在内存中记个标识,则直接在IO线程上处理更快,因为减少了线程池调度。
  • 如果事件处理逻辑较慢,或者血药发起新的IO请求,比如血药查询 数据库,则必须派发到线程池,否则IO线程阻塞,将导致不能接受其他请求。
  • 如果使用IO线程处理事件,又在事件处理过程中发起了新的IO请求,比如在连接事件中发起新的登录请求,则会抛出“可能引发死锁”异常。
    这里写图片描述
    配置项:
  • Dispatcher
    • all 所有消息都派发到线程池,包括请求,响应,连接事件,断开事件,心跳等。
    • direct 所有消息都不派发到线程池,全部在Io线程上直接执行
    • message 只有请求响应消息派发到线程池,其他连接断开事件,心跳等消息,直接在Io线程上执行。
    • execution 只请求消息派发到线程池,不含响应和其他连接断开事件,心跳等消息,直接在Io线程上执行。
    • connection 在Io线程上,将连接断开事件放入队里,有序 逐个执行,其他消息派发到线程池。
  • ThreadPool
    • fixed 固定大小线程池,启动时建立线程,不关闭,一直持有。
    • cached 缓存线程池,空闲一分钟自动删除,需要时重建。
    • limited可伸缩线程池,但池中的线程数只会增长不会收缩。
      配置如:
      这里写图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值