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 调用工作流
- 服务提供者