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官方微信公众号: