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

本文分享自微信公众号 - 中间件兴趣圈(dingwpmz_zjj)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

RocketMQ 消息发送system busy、broker busy原因分析与解决方案

微信公众号「中间件兴趣圈」主要关注RocketMQ、Dubbo、Netty、Elasticsearch、ElasticJob、Mycat、Mybatis等主流开源中间件。1、现象最近收到很多RocketMQ使用者,反馈生产环境中在消息发送过程中偶尔会出现如下4个错误信息之一:\REJECTREQUEST\systemb

Dubbo Filter机制概述

微信公众号:\中间件兴趣圈\作者简介:《RocketMQ技术内幕》作者从上文可知,在服务的调用或消费端发送请求命令中,Dubbo引入过滤器链机制来实现功能的包装(或扩展)。Dubbo很多功能,例如泛化调用、并发控制等都是基于Filter机制实现的,系统默认的Filter在/dubborpcapi/src/main/resou

Dubbo路由机制概述

微信公众号:\中间件兴趣圈\作者简介:《RocketMQ技术内幕》作者上一节我们主要讲解了利用dubboadmin如何进行参数的动态修改,本节将重点介绍集群实现中另外一个实现细节:路由机制,Dubbo的路由机制主要解决的目的就是服务调用时,从已知的所有服务提供者中根据路由规则刷选服务提供者。Dubbo路由机制概述