开发者学堂课程干货总结——Dubbo 分布式服务治理实践(三)

简介: Dubbo 分布式服务治理实践课时3——Dubbo2.0分布式RPC协议解析 。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!

哈喽各位同学们大家好呀,小编今天带着开发者学院中课程“Dubbo2.0分布式RPC协议解析  ”干货总结来了~一起学习新课程吧!

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:Dubbo2.0分布式RPC协议解析  

课程地址:https://developer.aliyun.com/learning/course/72/detail/1187?spm=a2c6h.12873639.0.0.70672e8aSWMLvg

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java?spm=a2c6h.21110250.J_5703890090.6.700e3c67EjOBeJ


Dubbo2.0分布式RPC协议解析


(一)Dubbo分布式RPC协议解析 

Dubbo是RPC基础上改造的一套框架,底层分时通信的基础设施没变,主要是在协议层另做了一层封装,封装思路是大规模服务集群治理,希望支持更多协议,不仅仅是Webservice,或者REST API这种风格的通信,而是直接封装的服务接口,发送授信协议进行通信,基于汽车网络协议中的MQTT再次封装。 

企业局域网通信,即使有公网通信,有些平台也希望定制自己的协议,典型代表有QQ、微信和阿里钉钉,封闭的聊天系统里面通信很多,Dubbo是自定义协议,实际在此基础上提供协议的再次封装,如在TCP基础上,不仅支持REST,传统跨平台跨语言的企业级行业协议,另外还会做一些协议扩展,效率方面有更高要求,希望在原生的TCP或者UDP基础上,在二进制数据包上做封装。 

 Dubbo的封装规定严格,华为自定了一套通信加密协议,协议基于GDP或UDP协议进行封装,是一种格式协议,只有自己能解析,QQ或者微信的协议,只有腾讯能解析。Dubbo思想也参考了经典分布式网络通信中的分包定义格式和思想规范。 

image.png 

如上图所示, 

1-4 Version; 

5-8 Header Length; 

8-13 DifferentiatedServicesCodePoint; 

14-15 ExplicitCongestionNotification; 

16-18 ,19-31 Totall Length 

... 

每个比特位都有严格定义,这种严格的消息定义主要用于自定义, Dubbo的通信协议编码指的是 Dubbo的自定义消息编码的格式规范。 

同样解码需要获取IP地址、有效的消息载体,都有严格定义,定义的字段越丰富,消息通信的语义功能越强大,消息的封装也越复杂,如只留1个字节,8个比特作为这个消息的额外信息,后面的话全是消息有效体,消息有效载体利用率就较高。 

上图中,总共有128个比特,这里作为前置所有消息的扩展定义,第一阶段入IP包,然后 TCP包的封装,Dubbo消息包包括封装、序列化ID、魔术编码的的比特位、状态码等。 

Dubbo在原始的ip、tcp协议之上进行了再次封装,后面在对象或者数据传时候做了序列化,序列成二进制格式,这样会效率更高,如果JSON就会涉及到更复杂的编码问题。实际上Dubbo的整个原生协议的封装足够复杂,128个比特位自己定义用于16个字节,有效载荷就比较浪费。 

Dubbo除了自定义协议的设计思想外,也和其他几个典型聊天软件已对比,有的用标准协议,有的自定义协议,自定义协议封闭性更强效率更高,行业标准协议考虑跨平台的通用性及安全性问题。 

(二)高级面试题:Dubbo支持的协议  

Dubbo支持多种协议: 

1.基于TCP协议 Netty、Mina实现 

2.Dubbo协议(默认) 

3. Hessian协议 

4. HTTP协议 

5. RMI协议 

6. WebService协议  

7. Thrift协议 

8. Memcached协议 

9. Redis协议  

10.gPRC  

11.Http2.0 

Dubbo协议支持足够丰富,现在做分布式开发,Dubbo是非常优秀的分布式框架扩展,通信协议的支持已经在GRPC做的足够优秀,强大的地方在于做了大规模集群的服务治理, Dubbo不仅是一套思想,更是能落地且经过阿里大规模服务实践的落地检验。 

(三)Dubbo默认协议  

1. Dubbo 协议默认使用Hessian2 序列化。(说明: Hessian2 是阿里在 Hessian 基础上进行的二次开发, 起名为Hessian2 )  

2. rmi协议 默认为 java 原生序列 

3. http协议 默认为 json 

4. hessian 协议,默认是 hessian 序列化 

5. webservice 协议,默认是 soap 文本序列化  

在局域网方面,Dubbo的原则协议已经足够优秀,多种协议的好处在于可灵活根据自己的场景定制选择,允许自定义,为更复杂高级的场景允许扩展的接口。 

(四)Dubbo线程消息分发模型 

•Dispatcher 分发器  

• all, direct, message, execution, connection  

•ThreadPool 线程池  

• fixed, cached 

Dubbo线程消息分发模型就是客户端和和服务端进行通讯,另外里面涉及到消息体的问题,消息体占多大,作为消息封装框架要考虑功能及效率问题。 

(五)Dubbo提供的注册中心  

  1. Multicast注册中心 

2. Zookeeper注册中心  

3. Redis注册中心  

4. Simple注册中心 

相关文章
|
5月前
|
JavaScript 文件存储 数据安全/隐私保护
打造你的私人电子书王国:Talebook 项目全面介绍
Talebook 以其简洁的部署、优雅的界面和强大的功能,成为了这个领域不可多得的好项目。
1039 127
|
5月前
|
Kubernetes 网络协议 异构计算
云上 K8s GPU 节点 ImagePullBackOff 排查记录
本文记录云上K8s(v1.36)GPU节点模型评测Job因`ImagePullBackOff`卡在Pending的排查过程,聚焦containerd镜像拉取失败根因,涵盖crictl验证、日志分析、DNS/镜像源配置检查,并强调分层排障:先运行时,再资源调度与设备挂载。
|
5月前
|
存储 监控 Linux
VMware vSphere 9.1 发布 - 企业级工作负载平台
ESX 9.1 & vCenter Server 9.1 | vSphere 9.1
1097 1
VMware vSphere 9.1 发布 - 企业级工作负载平台
|
5月前
|
边缘计算 安全 定位技术
AIWCLOUD:免备案高防CDN、不限内容、抗投诉、在跨境金融级数据同步场景下
本文介绍一种专为跨境金融设计的免备案CDN架构,通过物理路径固化、PTP亚微秒时钟同步与MACsec链路层加密,实现低抖动、高安全、强合规的“数据专线级”传输,满足支付清算、外汇交易等场景的严苛要求。(239字)
303 8
|
5月前
|
边缘计算 安全 网络协议
AIWCLOUD:免备案高防CDN,抗投诉,大陆节点免备,在跨国企业混合办公场景下
后疫情时代,跨国企业混合办公面临跨境延迟、未备案域名访问受限及VPN安全隐患等痛点。本文介绍一种“免备案CDN”架构:融合边缘零信任接入(ZTNA)、动态端口敲门、SAP/RDP协议优化、HTTP/3加速、域名分片合规回源与实时数据脱敏,构建安全、合规、高性能的全球数字走廊。(239字)
393 4
|
5月前
|
弹性计算 运维 负载均衡
2026阿里云价格最低云服务器选购攻略:轻量38元起、经济型99元、u1实例199元对比与选购指南
本文介绍了2026年阿里云服务器的三大高性价比产品线及其选购策略。轻量应用服务器主打极致性价比,2核2G配置年费低至38元(限时抢购),2核4G配置199元/年,适合个人开发者及小微企业快速建站。经济型e实例ECS以99元/年的新购续费同价政策,成为入门级用户的首选。通用算力型u1实例199元/年、u2i实例约900元起,则面向小型企业及关键业务场景,提供独享算力与企业级稳定性。本文通过配置、价格、适用场景的系统对比,帮助用户根据业务规模和需求选型。
|
5月前
|
云安全 人工智能 运维
阿里云acp认证有含金量吗?报名费多少钱?线下考试网点查询及问题解答FAQ
阿里云ACP云计算高级工程师认证,面向架构/开发/运维人员,考核云架构设计能力;含金量高,官方考试费1200元(活动价840元);线下闭卷考120分钟,100分制,80分及格。阿里云ACP认证官网:https://t.aliyun.com/U/AgJzWg
|
5月前
|
域名解析 运维 网络协议
网站测速实用方法及性能评估要点
网站的访问速度直接关系用户使用体验,也是衡量服务器运行状态、网络链路质量、站点优化效果的关键指标。在日常网站运维管理中,通过规范的测速方式,能够及时发现页面加载缓慢、地域访问差异、连接不稳定等问题,为后续优化调整提供有效参考。
635 0
|
5月前
|
机器学习/深度学习 边缘计算 网络协议
AIWCLOUD:免备案CDN,全球加速,过移动屏蔽,大陆节点免备,在跨境视频会议
本文介绍一种专为跨境RTC设计的免备案CDN架构,通过全球分布式媒体中继、智能选路、ULPFEC前向纠错、QUIC/TCP自适应传输及DTLS/SRTP加密,在无需备案前提下实现低延迟、高可靠、抗屏蔽的音视频传输。
408 1

热门文章

最新文章