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

从本节开始将开始深刻学习 Dubbo 网络通信的底层实现细节,在深刻学习 Dubbo 网络模型时,首先应从总体上了解 Dubbo 的网络通信模型、线程模型是怎样的?下图是 Dubbo 官方给出的线程模型:网络

这里写图片描述

涉及以下方面:架构

  • 网络调用客户端。
  • 网络调用服务端。
  • 网络传输,编解码、序列化。
  • 网络服务端转发模型、线程池。

下面给出与上述网络模型对应的详细类图:并发

这里写图片描述

上述类作一个简单的结束,后续篇章将会一一详细分析。分布式

  1. 基础接口
  • Resetable 可重置。
  • Endpoint 端(服务端、客户端基接口)
  1. 服务端
  • Server 服务端根接口
  • ExchangeServer 服务端交换机,默认实现Server,内部持有具体Server的实现。
  • HeaderExchangeServer 基于协议头的服务端交互机。
  1. 客户端
  • Channel 客户端通道描述接口。
  • Client 客户端基础接口,继承自Endpoint,Channel,主要定义重链接口。
  1. 传输层
  • Transporter 定义根据URL建立服务端或客户端,内部实现就是构建Server,Client对象。
  1. 编解码
  • Codec2 定义编解码对应的接口。 下面以Dubbo协议为例,底层网络通讯组建基于Netty,Dubbo协议建立服务端的流程以下所示: 这里写图片描述

下面仍是以Dubbo协议为例,底层网络通讯组件基于Netty,Dubbo协议消费端(客户端)创建网络流程图以下: 这里写图片描述高并发

上述这些流程图将会在后文的服务端、客户端启动流程时重点分析。源码分析


做者介绍:丁威,《RocketMQ技术内幕》做者,RocketMQ 社区布道师,公众号:中间件兴趣圈 维护者,目前已陆续发表源码分析Java集合、Java 并发包(JUC)、Netty、Mycat、Dubbo、RocketMQ、Mybatis等源码专栏。能够点击连接:中间件知识星球,一块儿探讨高并发、分布式服务架构,交流源码。学习

相关文章
相关标签/搜索