Dubbo网络通讯篇概述

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> Dubbo网络通讯篇概述

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

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

Dubbo网络通讯篇概述

涉及如下方面:

  • 网络调用客户端。
  • 网络调用服务端。
  • 网络传输,编解码、序列化。
  • 网络调用服务端。

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

    上述类做一个简单的介绍,后续篇章将会一一分析。

       1、基础接口

  • Resetable   可重置。
  • Endpoint   端(服务端、客户端基接口)
  • Endpoint   端(服务端、客户端基接口)

        2、服务端

  • Server 服务端根接口
  • ExchangeServer 服务端交换机,默认实现Server,内部持有具体Server的实现。
  • HeaderExchangeServer 基于协议头的服务端交互机。
  • ExchangeServer 服务端交换机,默认实现Server,内部持有具体Server的实现。

        3、客户端

  • Channel 客户端通道描述接口。
  • Client 客户端基础接口,继承自Endpoint,Channel,主要定义重连接口。
  • Client 客户端基础接口,继承自Endpoint,Channel,主要定义重连接口。

        4、传输层

  • Transporter 定义根据URL创建服务端或客户端,内部实现就是构建Server,Client对象。
  • 定义根据URL创建服务端或客户端,内部实现就是构建Server,Client对象。

        5、编解码

  • Codec2 定义编解码对应的接口。 下面以Dubbo协议为例,底层网络通信组建基于Netty,Dubbo协议创建服务端的流程如下所示:

    Dubbo网络通讯篇概述

    下面还是以Dubbo协议为例,底层网络通信组件基于Netty,Dubbo协议消费端(客户端)建立网络流程图如下:

    Dubbo网络通讯篇概述

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

  • 下面还是以Dubbo协议为例,底层网络通信组件基于Netty,Dubbo协议消费端(客户端)建立网络流程图如下:

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

    Dubbo网络通讯篇概述

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

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

    Dubbo网络通讯篇概述

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

    Dubbo网络通讯篇概述

    原文始发于微信公众号(中间件兴趣圈):

    本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

    本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

    原文链接:blog.ouyangsihai.cn >> Dubbo网络通讯篇概述


     上一篇
    源码分析Dubbo事件派发机制 源码分析Dubbo事件派发机制
    微信公众号:**[中间件兴趣圈]** 作者简介:《RocketMQ技术内幕》作者 本节将主要学习Dubbo是如何使用Netty来实现网络通讯的。 从官网我们得知,Dubbo协议是使用单一长连接来进行网络传输,也就是说服务调用方持久与
    2021-04-05
    下一篇 
    源码分析Dubbo集群策略 源码分析Dubbo集群策略
    微信公众号:**[中间件兴趣圈]** 作者简介:《RocketMQ技术内幕》作者 前面的文章,已经单独对服务发现(Directory、RegistryDirectory)、路由机制(Router)、负载均衡机制(LoadBalanc
    2021-04-05