干翻Dubbo系列第十一篇:Dubbo常见协议与通信效率对比

文章目录

文章说明

一:协议

1:什么是协议

2:协议和序列化关系

3:协议组成

(一):头信息

(二):体信息

4:Dubbo3中常见的协议

 5:不同协议的通信效率比较


文章说明


本文内容整理自《孙哥说Dubbo系列视频课程》,孙帅老师课程细致、全面、深入、性价比极高。B站搜孙帅suns可以找到对应的试听视频,或者直接添加老师微信号suns45与他直接联系

一:协议

1:什么是协议

客户端[消费者]与服务端[提供者]在传输数据时双⽅的约定。

大致就是除了咱们通信双方需要传递的真实数据(体信息)还包括大量的描述信息,这个描述信息被称为头信息。数据传递过去之后,经过反序列化,然后按照协议的描述信息进行拆解传递的数据就可以拿到最终的真实传递的数据,也就是体信息,比如咱们Http请求的请求参数或者是RPC时候的方法的参数。

2:协议和序列化关系

序列化是协议数据的传输⼀种格式。⽬的是为了提⾼协议在⽹络传输的效率。

同样的协议化数据,经过不同的序列化手段序列化之后,在网络传输中传输的大小是不一致的,具有不同的传输效率和对方想要获取到你实际的协议数据,也需要进行反序列化获取相应的协议数据,然后进行拆解,最终获取到真实的传输数据。

3:协议组成

(一):头信息

幻术:为了约束双方的新人关系,证明这是标准的通信数据的一种格式数据,相当于是通信双方的街头暗号。想要通信,暗号不能错!

序列化方式:数据传输的过程中,我们使用的是什么序列化方式,知道了序列化方式之后,我们才能基于具体的序列化方式记性反序列化传输过来的数据,然后在拆解协议数据。

操作方向性:客户端给服务端发情求,还是服务端给客户端响应请求

状态信息:基本上就是服务端给客户端返回的状态信息

数据大小:数据大小指的是,协议体数据量的大小,解决半包粘包的问题。

(二):体信息

体信息就是数据想要传输的信息本身,比说上图中的JSON

4:Dubbo3中常见的协议

dubbo协议:

dubbo在默认情况下使用的是dubbo协议,这是Dubbo定义的私有协议,应用在TCP层次。

rest协议:

rest协议这里主要是Http协议。为什么rest协议也很重要,Dubbo支持这个协议之后,就可以跟SpringCloud进行无缝对接了。

triple协议:

Dubbo3开发的新协议。

grpc协议:

云原生时代,GRPC十分重要了,Dubbo想要与云原生进行结合,必须支持GRPC。

剩下还有:thrift协议 webservice协议、rocketmq协议、redis协议、memcached协议,了解就好,用的很少。

 5:不同协议的通信效率比较

看到这个东西我们可以明确两个概念:

1:不同的协议,可以挑选不同的序列化方案。

2:不同的序列化方案和通信协议组合,对应的通信效率也是有很大的差异。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/77884.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构与算法】十大经典排序算法-希尔排序

🌟个人博客:www.hellocode.top 🏰Java知识导航:Java-Navigate 🔥CSDN:HelloCode. 🌞知乎:HelloCode 🌴掘金:HelloCode ⚡如有问题,欢迎指正&#…

python爬虫5:requests库-案例3

python爬虫5:requests库-案例3 前言 ​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论,并不会对网…

3.微服务概述

1.大型网络架构变迁 SOA与微服务最大的差别就是服务拆分的细度,目前大多数微服务实际上是SOA架构,真正的微服务应该是一个接口对应一个服务器,开发速度快、成本高; 微服务SOA能拆分的就拆分是整体的,服务能放一起的都…

生活随笔,记录我的日常点点滴滴.

前言 😘个人主页:曲终酣兴晚^R的小书屋🥱 😕作者介绍:一个莽莽撞撞的🐻 💖专栏介绍:日常生活&往事回忆 😶‍🌫️每日金句:被人暖一下就高热&…

Xilinx DDR3学习总结——3、MIG exmaple仿真

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Xilinx DDR3学习总结——3、MIG exmaple例程仿真 前言仿真 前言 前面我们直接把exmaple例程稍加修改就进行了抢先上板测试,证明了MIG模块工作时正常的&#xff0…

浏览器控制台调试代码和JavaScript控制台方法介绍

浏览器控制台调试代码和JavaScript控制台方法介绍 浏览器控制台调试代码 浏览器控制台(Console)是浏览器提供的一个开发工具,用于在浏览器中执行和调试 JavaScript 代码。它提供了一个交互式环境,可以输入 JavaScript 代码&#…

视频集中存储/云存储/安防监控/视频汇聚平台EasyCVR新增角色权限功能分配

视频集中存储/云存储/安防视频监控/视频汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。 EasyCVR视频集中…

LL库实现SPI MDA发送方式驱动WS2812

1,首先打卡STM32CubeMX,配置一下工程,这里使用的芯片是STM32F030F4P6。 时钟 SPI外设 SPI DMA 下载接口,这个不配置待会下程序后第二次就不好下载调试了。 工程配置,没啥说的 选择生成所有文件 将驱动都改为LL库 然后直…

uniapp中map使用点聚合渲染marker覆盖物

效果如图: 一、什么是点聚合 当地图上需要展示的标记点 marker 过多时,可能会导致界面上 marker 出现压盖,展示不全,并导致整体性能变差。针对此类问题,推出点聚合能力。 点聚合官网教程 二、基本用法 template…

PHP8的字符串操作1-PHP8知识详解

字符串是php中最重要的数据之一,字符串的操作在PHP编程占有重要的地位。在使用PHP语言开发web项目的过程中,为了实现某些功能,经常需要对某些字符串进行特殊的处理,比如字符串的格式化、字符串的连接与分割、字符串的比较、查找等…

百万奖金、大厂offer请你接收!

第三届中国移动“梧桐杯”大数据创新大赛 火热进行中 报名速来~ 今年大学生就业形势格外严峻:全国高校毕业生人数破千万为历年来最多,校招竞争激烈,高薪岗位宁缺毋滥。想弯道超车拿到心仪的offer?仅靠“求神拜佛”对着神明念自己…

空洞卷积学习笔记

文章目录 1. 扩张卷积的提出2. 理解的难点 本片博客的主题思路来自于这篇文章——如何理解Dilated Convolutions(空洞卷积),但是作者似乎是很久之前写的,文字的排版很混乱,自己来写一个新的。 1. 扩张卷积的提出 Multi-Scale Context Aggre…

节点不连续伽辽金方法在求解线性和非线性平流方程中的一维实现(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Netty+springboot开发即时通讯系统笔记(三)

实现长连接负载均衡策略 登录成功返回登陆的im地址。 1.在公共模块里写个RouteHandle接口,然后他的实现类去实现不同的均衡策略。 2.在业务模块的config文件下的beanConfig中定义一个Bean routeHandle,从配置文件中获取不同的负载均衡策略来初始化Rou…

Linux —— 文件系统

目录 一,背景 二,文件系统 一,磁盘简介 磁盘分为SSD、机械磁盘;机械磁盘,即磁盘高速转动,磁头移动到读写扇区所在磁道,让磁头在目标扇区上划过,即可完成对扇区的读写操作&#xff…

【边缘设备】yolov5训练与rknn模型导出并在RK3588部署~2.环境验证(亲测有效)

保姆级教程,看这一篇就够用了。 在翻阅了网络上很多资料后,发现很多版本的信息比匹配。 花了一周的时间配置环境,以及环境验证,然后写了这篇长文。 有过程,有代码,有经验,欢迎大家批评指正。 一…

javaScript:模板字符串让你忘记字符串拼接

目录 一.前言 二.模板字符串的使用 1.介绍 2.模板字符串 支持换行 模板字符串更适合元素写入 innerHTML模板字符串写法 3.模板字符串中,可以运行表达式 4.模板字符串中可以运行函数 三.总结 语法: 多行字符串: 变量插值: …

【hello C++】特殊类设计

目录 一、设计一个类,不能被拷贝 二、设计一个类,只能在堆上创建对象 三、设计一个类,只能在栈上创建对象 四、请设计一个类,不能被继承 五、请设计一个类,只能创建一个对象(单例模式) C🌷 一、设计一个类&…

预演攻击:谁需要网络靶场,何时需要

"网络演习 "和 "网络靶场 "几乎是当今信息安全领域最流行的词汇。与专业术语不同的是,这些词对于企业和高级管理人员来说早已耳熟能详:法律要求他们进行演习,包括网络演习,而网络射击场也经常在企业界和媒体上…

C语言刷题指南(一)

📙作者简介: 清水加冰,目前大二在读,正在学习C/C、Python、操作系统、数据库等。 📘相关专栏:C语言初阶、C语言进阶、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 👍 收藏 ⭐留言 &am…