dubbo整体框架
1. 业务层 business
该层主要包含了我们的的业务代码是如何调用接口的。
2. RPC层
该层包含的是我们的服务注册与发现机制,分为如下几个子层
config 初始化层 读取配置文件,完成dubbo的初始化
proxy 代理层 为了使我们的远程调用像本地调用一样自然,我们可以使用代理模式来将服务的具体实现换为远程调用,dubbo为我们实现了两种代理模式 : javassist代理和jdk动态代理。
Registry 注册中心层 该层包含了注册中心的具体实现,同理 dubbo中有zk、redis、multicast等注册中心实现
Cluster 路由层 封装了 路由规则、负载均衡、集群容错的实现,同样由于SPI机制的存在,做到了高拓展
monitor 监控层 用来统计RPC调用的次数和时间
Protocol远程调用层 封装RPC调用逻辑
3. 远程连接层Remoting
该层包含的是我们的请求和响应是如何传输的,也分了几个子层
Exchange 信息交换层 封装请求和响应,将同步转为异步
Transport 网络传输层 Message传输,使用netty为NIO框架
Serialize 序列化层 采用多种序列化方式