`
zyq070
  • 浏览: 20532 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

dubbo架构

 
阅读更多

dubbo 官网 架构图

 

1 左侧浅蓝色背景的是 消费端接口,右侧浅绿色背景的属于 服务端接口 中间区域属于 共有接口

2 图片从下到上分十层 单向依赖,绿色方块属于 扩展接口 蓝色方块上 实现类,此图仅仅展示了 各层相关实现类

3 蓝色虚线箭头 系统启动时候 执行初始化链路,红色虚线 是运行时调用链,紫色箭头继承父类 可以像父类一样调用子类。箭头线上的文字是 调用方法名称

各个层 描述:

 配置层 : 外部配置接口 ,ServiceConfig and ReferenceConfig 是配置层的核心类,使用者可以直接初始化配置类 ,也可以通过Spring 生成配置类进行使用

代理层: 服务接口的透明代理,生成客户端服务存根和服务端服务框架,以ServiceProxy为中心,扩展接口为ProxyFactory

注册层: 服务注册和发现的封装,服务 url 是核心 , 扩展接口为RegistryFactory、Registry和RegistryService

集群层:多服务提供的集群封装,负载均衡 桥接注册中心 调用器是核心,扩展接口有 Cluster, Directory, Router, LoadBalance

监控层: 提供对远程调用次数和调用时间的监控,核心类是 Statistics,扩展接口有 MonitorFactoryMonitorMonitorService

协议层:远程调用封装 规定了 不同终端之间远程调用的通信约定,核心类是 Invocation 和 Result,扩展接口是 ProtocolInvokerExporter

 交换层: 求和响应的封装,同步传输异步. Request 和 Response 是核心,扩展接口 是Exchanger,ExchangeChannel,ExchangeClient,ExchangeServer

传输层:mina 和netty框架的抽象 ,Message 是核心, 扩展接口为 hannelTransporterClientServerCodec

序列化层: 可重用工具, 扩展接口为 SerializationObjectInputObjectOutputThreadPool

 

看完扫一扫:



 

  • 大小: 214.6 KB
  • 大小: 78.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics