源码分析Dubbo网络通讯篇概要总结(类图一览、服务端、客户端网络构造流程一览)

从本节开始将开始深入学习Dubbo网络通讯的底层实现细节,在深入学习Dubbo网络模型时,首先应从整体上了解Dubbo的网络通讯模型、线程模型是怎样的?下图是Dubbo官方给出的线程模型:
源码分析Dubbo网络通讯篇概要总结(类图一览、服务端、客户端网络构造流程一览)
涉及如下方面:
1)网络调用客户端。
2)网络调用服务端。
3)网络传输,编解码、序列化。
4)网络服务端转发模型、线程池。
下面给出与上述网络模型对应的详细类图:
源码分析Dubbo网络通讯篇概要总结(类图一览、服务端、客户端网络构造流程一览)
上述类做一个简单的结束,后续篇章将会一一详细分析。

  • 基础接口
    1) Resetable 可重置。
    2) Endpoint 端(服务端、客户端基接口)
  • 服务端
    1)Server 服务端根接口
    2)ExchangeServer 服务端交换机,默认实现Server,内部持有具体Server的实现。
    3)HeaderExchangeServer 基于协议头的服务端交互机。
  • 客户端
    1)Channel 客户端通道描述接口。
    2)Client 客户端基础接口,继承自Endpoint,Channel,主要定义重连接口。
  • 传输层
    1)Transporter 定义根据URL创建服务端或客户端,内部实现就是构建Server,Client对象。
  • 编解码
    1)Codec2 定义编解码对应的接口。
    下面以Dubbo协议为例,底层网络通信组建基于Netty,Dubbo协议创建服务端的流程如下所示:
    源码分析Dubbo网络通讯篇概要总结(类图一览、服务端、客户端网络构造流程一览)
    下面还是以Dubbo协议为例,底层网络通信组件基于Netty,Dubbo协议消费端(客户端)建立网络流程图如下:
    源码分析Dubbo网络通讯篇概要总结(类图一览、服务端、客户端网络构造流程一览)
    上述这些流程图将会在后文的服务端、客户端启动流程时重点分析。