Dubbo框架设计原理

框架设计

参考文档
http://dubbo.apache.org/zh-cn/docs/dev/design.html
这里写图片描述
整体分为三层

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
序列化层
传输过程中,数据经过序列化,进行网络传输
收到数据,经过反序列化,获取数据对象
这里写图片描述

颜色标注

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

Dubbo分包

每一层,对应Dubbo的一个分包
选择,Hierarchical方式
这里写图片描述
查看依赖
这里写图片描述

依赖关系

这些包,都是单向依赖
上层依赖于下层
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值