Dubbo架构层次
来源:互联网 发布:信息管理与网络维护 编辑:程序博客网 时间:2024/06/07 03:14
Dubbo的总体架构如图所示:
Dubbo的架构设计共分为了10层。最上面的Service层是留给实际想要使用Dubbo开发分布式服务的开发者实现业务逻辑的接口层。图中左边淡蓝色背景为服务消费方使用的接口,右边淡绿色背景为服务提供方使用的接口,位于中轴线的为双方都要用到的接口。结合Dubbo官网,总结如下:
1.服务接口层:该层与实际业务逻辑有关,根据服务消费方和服务提供方的业务设计,实现对应的接口。
2.配置层:对外配置接口,以ServiceConfig和ReferenceConfig为中心,可以直接new配置类,也可以根据spring解析配置生成配置类。
3.服务注册层:封装服务地址的注册和发现,以服务URL为中心,扩展接口为RegistryFactory、Registry、RegistryService,可能没有服务注册中心,此时服务提供方直接暴露服务。
4.服务代理层:服务接口通明代理,生成服务的客户端Stub和服务端Skeleton,以ServiceProxy为中心,扩展接口ProxyFactory。
5.集群层:封装多个提供者的路由和负载均衡,并桥接注册中心,以Invoker为中心,扩展接口为Cluster、Directory、Router和LoadBalance,将多个服务提供方组合为 一个服务提供方,实现对服务消费通明。只需要与一个服务提供方进行交互。
6.监控层:RPC调用时间和次数监控,以Statistics为中心,扩展接口MonitorFactory、Monitor和MonitorService。
7.远程调用层:封装RPC调用,以Invocation和Result为中心,扩展接口为Protocol、Invoker和Exporter。Protocol是服务域,它是Invoker暴露和引用的主功能入口,它负责Invoker的生命周期管理。Invoker是实体域,它是Dubbo的核心模型,其他模型都是向它靠拢,或转换成它,它代表一个可执行体,可向它发起Invoker调用,它有可能是一个本地实现,也有可能是一个远程实现,也有可能是一个集群实现。
8.信息交换层:封装请求响应模式,同步转异步,以Request和Response为中心,扩展接口为Exchanger和ExchangeChannel,ExchangeClient和ExchangeServer。
9.网络传输层:抽象和mina和netty为统一接口,以Message为中心,扩展接口为Channel、Transporter、Client、Server和Codec。
10.数据序列化层:可复用的一些工具,扩展接口为Serialization、ObjectInput,ObejctOutput和ThreadPool。
- Dubbo架构层次
- Dubbo架构
- dubbo-架构
- dubbo架构
- dubbo-架构
- [dubbo]浅谈dubbo-架构解析
- dubbo简介,dubbo架构,dubbo的方法
- DW/BI 架构层次
- iOS系统架构层次
- Dubbo架构介绍
- Dubbo架构设计详解
- Dubbo架构设计详解
- Dubbo架构设计详解
- Dubbo 架构分析
- Dubbo架构设计详解
- Dubbo架构设计详解
- Dubbo架构设计详解
- Dubbo架构设计详解
- ThreadLocal简单理解
- Codeforces Round #367 (Div. 2) A~E
- java 对rtmp视频流进行截图 ffmpeg
- 基于NAR神经网络的化工产品价格预测的实现(Matlab)
- ARM-Linux时钟初始化
- Dubbo架构层次
- 找女朋友
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
- 荒岛求生
- HDU 2459 Maximum repetition substring(后缀数组+RMQ-重复次数最多的子串)
- JAVA中的静态成员
- Memcached服务器安装、配置、使用详解
- C语言的一些基本算法
- ARM与嵌入式linux的入门建议