上图中,左边是serviceConsumer使用的接口和类;右边是serviceProvider使用的接口和类;中间是双方均要使用的接口和类。总体上将整个架构分成三大层,分别是Business层、RPC层、Remoting层。其中:
Business层是应用层的接口和实现类,完成应用层的业务逻辑。对于消费端应用层则是利用config配置层的功能在实现类中调用Proxy层实现的代理类(即为远程服务的引用);对于服务端应用层则是实现业务逻辑然后通过Proxy层的Invoker封装之后,利用config配置层的功能将服务暴露给消费端使用。
RPC层是Dubbo框架的核心,提供透明化的服务发布和服务引用,里面可以细分为如下六层: