Dubbo框架——整体架构

来源:互联网 发布:js变量命名的规则 编辑:程序博客网 时间:2024/06/15 12:19



上图中,左边是serviceconsumer使用的接口和类;右边是serviceprovider使用的接口和类;中间是双方均要使用的接口和类。

总体上将整个架构分成三大层,分别是Business层、RPC层、Remoting层。其中:

Business层是平时写的业务逻辑的接口和实现类;主要是利用config配置层的功能将业务逻辑利用Dubbo框架发布成服务或者引用外部服务中。

RPC层是Dubbo框架的核心,提供透明化的服务发布和服务引用,里面可以细分为如下六层:

       1)config配置层:使用这一层提供的@注解,xml配置等方法来暴露服务和为服务消费端生成远程服务代理类;

       2)proxy服务代理层:服务接口透明代理,可以像调本地服务一样调远程服务;

       3)registry注册中心层:完成服务地址的注册与发现;

       4)cluster路由层:负载均衡、容错处理;

       5)monitor监控层:RPC调用次数和调用时间监控,发送数据到monitor监控中心;

       6)protocol远程调用层:封装RPC调用,抽象各种协议。

Remoting层主要实现dubbo协议,若使用hessian或其他协议,就不会用到这一层;具体细分为三层:

1)exchange信息交换层:封装请求响应模式,同步转异步,封装Request-Response语义;

2)transport网络传输层:对Mina,Netty,Grizzly的抽象,socket TCP,UDP编程;

3)serialize数据序列化层:
0 0