Dubbo框架设计原理

框架设计

参考文档
http://dubbo.apache.org/zh-cn/docs/dev/design.html
Dubbo框架设计原理_第1张图片
整体分为三层

Business

业务逻辑层,只有一层Service
面向接口编程,一个接口,对应一个实现
远程调用,通过调用接口,来调用接口实现

RPC

用于完成远程过程调用,分为很多层

Config

配置层
用于封装配置文件中,解析的一些信息

比如,ReferenceConfig、ServiceConfig
每一个标签,都有对应的Config
来封装标签中的信息

Proxy
服务代理层
利用代理的方式,生成客户端、服务端代理对象
代理对象,可以相互调用方法

Registry
注册中心层
完成注册中心的相关功能

比如,服务的发现、服务的注册
服务提供者,都需要注册到注册中心
服务消费者,都需要从注册中心订阅,所需要的服务

Cluster
路由层
完成负载均衡的相关功能
调用者,需要调用很多的服务
同一个服务,可能冗余部署在多台服务器上
此时,根据负载均衡策略,实现服务调用

Monitor
监控层
每一次的调用信息,都会发送数据,给监控层
监控层,以界面的方式,展示发送的调用数据

Protocol
远程调用层
用于完成远程调用
封装RPC整个调用过程
RPC调用核心Invoker、Protocol、Exporter

Remoting
完成远程通信
远程调用,需要与A、B两台服务器
架起通信管道,通过管道传递数据

Exchange
信息交换层
就是创建一个客户端、一个服务端
两个端,架起管道,进行数据的互联互通

Transport
传输层
传输数据,通过Transport封装传输
Transport底层,是Netty框架

Serialize
序列化层
传输过程中,数据经过序列化,进行网络传输
收到数据,经过反序列化,获取数据对象
Dubbo框架设计原理_第2张图片

颜色标注

Consumer,服务消费者
Provider,服务提供者
Interface,接口
Class,实现类
Inherit,接口之间的继承关系
Init,容器初始化
Call,整个调用过程
Depend,依赖顺序

Dubbo分包

每一层,对应Dubbo的一个分包
选择,Hierarchical方式
Dubbo框架设计原理_第3张图片
查看依赖
Dubbo框架设计原理_第4张图片

依赖关系

这些包,都是单向依赖
上层依赖于下层
Dubbo框架设计原理_第5张图片

你可能感兴趣的:(————Dubbo)