查看原文
其他

Dubbo网络通讯篇概述

微信公众号:[中间件兴趣圈]
作者简介:《RocketMQ技术内幕》作者

从本节开始将深入学习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协议消费端(客户端)建立网络流程图如下:


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


广告:作者新书《RocketMQ技术内幕》已上市

《RocketMQ技术内幕》已出版上市,目前可在主流购物平台(京东、天猫等)购买,本书从源码角度深度分析了RocketMQ NameServer、消息发送、消息存储、消息消费、消息过滤、主从同步HA、事务消息;在实战篇重点介绍了RocketMQ运维管理界面与当前支持的39个运维命令;并在附录部分罗列了RocketMQ几乎所有的配置参数。本书得到了RocketMQ创始人、阿里巴巴Messaging开源技术负责人、Linux OpenMessaging 主席的高度认可并作序推荐。目前是国内第一本成体系剖析RocketMQ的书籍。
新书7折优惠!7折优惠!7折优惠!



更多文章请关注微信公众号:

推荐关注微信公众号:RocketMQ官方微信公众号

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存