Dubbo网络通讯篇概述原创
2年前
260001
从本节开始将深入学习Dubbo网络通讯的底层实现细节,在深入学习Dubbo网络模型时,首先应从整体上了解Dubbo的网络通讯模型、线程模型是怎样的?下图是Dubbo官方给出的线程模型:
涉及如下方面:
- 网络调用客户端。
- 网络调用服务端。
- 网络传输,编解码、序列化。
下面给出与上述网络模型对应的详细类图:
上述类做一个简单的介绍,后续篇章将会一一分析。
1、基础接口
Resetable 可重置。
Endpoint 端(服务端、客户端基接口)
2、服务端
Server 服务端根接口
ExchangeServer 服务端交换机,默认实现Server,内部持有具体Server的实现。
HeaderExchangeServer 基于协议头的服务端交互机。
3、客户端
Channel 客户端通道描述接口。
Client 客户端基础接口,继承自Endpoint,Channel,主要定义重连接口。
4、传输层
Transporter
定义根据URL创建服务端或客户端,内部实现就是构建Server,Client对象。
5、编解码
Codec2 定义编解码对应的接口。
下面以Dubbo协议为例,底层网络通信组建基于Netty,Dubbo协议创建服务端的流程如下所示:
下面还是以Dubbo协议为例,底层网络通信组件基于Netty,Dubbo协议消费端(客户端)建立网络流程图如下:
上述这些流程图将会在后文的服务端、客户端启动流程时重点分析。
点赞收藏
分类: