服务消费者通过代理对象 Proxy 发起远程调用,
接着通过网络客户端 Client 将编码后的请求发送给服务提供方的网络层上,也就是 Server。
Server 在收到请求后,首先要做的事情是对数据包进行解码。
然后将解码后的请求发送至分发器 Dispatcher,再由分发器将请求派发到指定的线程池上,最后由线程池调用具体的服务。
这就是一个远程调用请求的发送与接收过程
淡绿色代表了 服务生产者的范围 淡蓝色 代表了服务消费者的范围 红色箭头代表了调用的方
向
业务逻辑层(Interface )
RPC层(远程过程调用)
Remoting (远程数据传输)
看官网的
http://dubbo.apache.org/zh-cn/docs/dev/design.html
左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于
中轴线上的为双方都用到的接口
Business 业务逻辑层
- service 业务层 包括我们的业务代码 比如 接口 实现类 直接面向开发者
RPC层 远程过程调用层 - config