Dubbo

Dubbo #

官网: https://dubbo.apache.org/zh/

原理 #

总体架构 #

  • Container:服务运行容器,默认为Jetty,负责运行Provider。
  • Provider:服务的提供方,启动后会向Registry进行注册。
  • Consumer:服务消费方,启动后向Registry获取订阅列表并缓存到本地,Registry也会基于长连接定时推送变更。
  • Register:注册中心,可选值为:Zookeeper、Nacos、Consul、multicast、redis或simple。
  • Monitor:统计服务调用次数和时间的监控中心,Provider和Consumer会在内存中进行统计后每分钟发送给Monitor。

Dispatcher #

  • all:所有消息都派发到线程池。
  • direct:所有消息都在I/O线程上直接执行。
  • message:只有响应消息派发到线程池,其它连接、心跳等事件直接在I/O线程上执行。
  • execution:只有请求消息派发到线程池,其它响应、连接、心跳等事件直接在I/O线程上执行。
  • connection:在I/O线程上,将连接断开事件放入队列,其它消息派发到线程池。