dubbo 学习

dubbo 是一款高性能的java RPC 架构。

它实现了面向接口的RPC调用,实现了服务注册、发现、负载均衡、容错、扩展性等等。

Dubbo 分层

dubbo 核心组件

组件名称 描述
service 业务层,业务代码实现
config 配置层,初始化配置信息,管理dubbo 配置信息
proxy 代理层面,Dubbo 中的生产者与消费者都没有生成Proxy,它用来调用远程接口,就像调用本地接口一样。
Resitry 注册层面,负责框架的服务注册与发现。
Cluster 集群容错层,负责远程调用的容错策略,
Monitor 监控层面,负责监控调用次数与调用时间。
Protocol 远程调用层面,封装调用的具体过程(netty)
Exchange 信息交换层,建立Request-Response模型,封装请求响应模型,例如同步请求转化成异步请求。
Transport 网络传输层,dubbo将网络传输封装成统一的接口。
Serialize 序列化层,负责网络传输的序列化与反序列化。

列出这几个层面,可以对dubbo 有个感性认知。

 

Dubbo 调用工作流

  1. 服务提供者