Dubbo学习笔记8:Dubbo的线程模型与线程池策略

Dubbo默认的底层网络通讯使用的是Netty,服务提供方NettyServer使用两级线程池,其中 EventLoopGroup(boss) 主要用来接受客户端的链接请求,并把接受的请求分发给 EventLoopGroup(worker) 来处理,boss和worker线程组我们称之为IO线程。

如果服务提供方的逻辑能迅速完成,并且不会发起新的IO请求,那么直接在IO线程上处理会更快,因为这减少了线程池调度。

但如果处理逻辑很慢,或者需要发起新的IO请求,比如需要查询数据库,则IO线程必须派发请求到新的线程池进行处理,否则IO线程会阻塞,将导致不能接收其它请求。

Dubbo提供的线程模型

根据请求的消息类被IO线程处理还是被业务线程池处理,Dubbo提供了下面几种线程模型:

猜你喜欢

转载自www.cnblogs.com/xhj123/p/9095278.html
今日推荐