带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 Dubbo通信协议设计概述(上)

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
注册配置 MSE Nacos/ZooKeeper,182元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
简介: 带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 Dubbo通信协议设计概述(上)

通信协议

 

一、 Dubbo通信协议设计概述

 

Dubbo框架提供了自定义的高性能RPC通信协议:基于HTTP/2的Triple协议和基于TCP的Dubbo2协议。除此之外,Dubbo框架支持任意第三方通信协议,如官方支持的gRPC、Thrift、REST、JsonRPC、Hessian2等,更多协议可以通过自定义扩展实现。这对于微服务实践中经常要处理的多协议通信场景非常有用。

 

Dubbo框架不绑定任何通信协议,在实现上Dubbo对多协议的支持也非常灵活,它可以让你在一个应用内发布多个使用不同协议的服务,并且支持用同一个port端口对外发布所有协议。

 

image.png

 

通过Dubbo框架的多协议支持,你可以做到:

 

将任意通信协议无缝地接入Dubbo服务治理体系。Dubbo体系下的所有通信协议,都可以享受到Dubbo的编程模型、服务发现、流量管控等优势。比如gRPC over Dubbo的模式,服务治理、编程API都能够零成本接入Dubbo体系。

 

兼容不同技术栈,业务系统混合使用不同的服务框架、RPC框架。比如有些服务使用gRPC或者Spring Cloud开发,有些服务使用Dubbo框架开发,通过Dubbo的多协议支持可以很好的实现互通。

 

让协议迁移变的更简单通过多协议、注册中心的协调,可以快速满足公司内协议迁移的需求。比如如从自研协议升级到Dubbo协议,Dubbo协议自身升级,从Dubbo协议迁移到gRPC,从HTTP迁移到Dubbo协议等。

 

1. HTTP/2(Triple)协议

 

Triple协议是Dubbo3发布的面向云原生时代的通信协议,它基于HTTP/2并且完全兼容gRPC协议,原生支持Streaming通信语义,自Triple协议开始,Dubbo还支持基于Protobuf的服务定义与数据传输。Triple具备更好的网关、代理穿透性,因此非常适合于跨网关、代理通信的部署架构,如服务网格等。

 

Triple协议的核心特性如下:

 

支持TLS加密、Plaintext明文数据传输

支持反压与限流

支持Streaming流式通信

 

在编程与通信模型上,Triple协议支持如下模式:

 

消费端异步请求Client Side Asynchronous Request-Response

提供端异步执行Server Side Asynchronous Request-Response

消费端请求流(Request Streaming)

提供端响应流(Response Streaming)

双向流式通信(Bidirectional Streaming)

 

开发实践

 

Triple协议使用示例请参考Dubbo官网文档中的任务模块

Triple协议规范请参考Dubbo官网文档技术方案博客

 

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 一、 Dubbo通信协议设计概述(下): https://developer.aliyun.com/article/1224957

相关文章
|
8月前
|
存储 NoSQL MongoDB
微服务——MongoDB常用命令——MongoDB索引知识概述
本文介绍MongoDB索引相关知识,包括其在查询中的重要作用。索引可避免全集合扫描,显著提升查询效率,尤其在处理海量数据时。通过B树数据结构存储字段值并排序,支持相等匹配、范围查询及排序操作。文中还提供了官方文档链接以供深入学习。
145 0
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
260 2
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
Dubbo 应用服务中间件 Apache
Star 4w+,Apache Dubbo 3.3 全新发布,Triple X 领衔,开启微服务通信新时代
在 Apache Dubbo 突破 4w Star 之际,Apache Dubbo 团队正式宣布,Dubbo 3.3 正式发布!作为全球领先的开源微服务框架,Dubbo 一直致力于为开发者提供高性能、可扩展且灵活的分布式服务解决方案。此次发布的 Dubbo 3.3,通过 Triple X 的全新升级,突破了以往局限,实现了对南北向与东西向流量的全面支持,并提升了对云原生架构的友好性。
367 102
|
Dubbo Java 应用服务中间件
💥Spring Cloud Dubbo火爆来袭!微服务通信的终极利器,你知道它有多强大吗?🔥
【8月更文挑战第29天】随着信息技术的发展,微服务架构成为企业应用开发的主流模式,而高效的微服务通信至关重要。Spring Cloud Dubbo通过整合Dubbo与Spring Cloud的优势,提供高性能RPC通信及丰富的生态支持,包括服务注册与发现、负载均衡和容错机制等,简化了服务调用管理并支持多种通信协议,提升了系统的可伸缩性和稳定性,成为微服务通信领域的优选方案。开发者仅需关注业务逻辑,而无需过多关心底层通信细节,使得Spring Cloud Dubbo在未来微服务开发中将更加受到青睐。
207 0
|
8月前
|
Dubbo 应用服务中间件 Apache
Star 4w+,Apache Dubbo 3.3 全新发布,Triple X 领衔,开启微服务通信新时代
Star 4w+,Apache Dubbo 3.3 全新发布,Triple X 领衔,开启微服务通信新时代
145 0
|
存储 Java 关系型数据库
微服务概述
微服务概述
104 1
微服务概述
|
Dubbo Cloud Native 应用服务中间件
阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。
在云原生时代,微服务架构成为主流。阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。示例代码展示了如何在项目中实现两者的整合,通过 Nacos 动态调整服务状态和配置,适应多变的业务需求。
393 2
|
Dubbo Java 应用服务中间件
微服务框架Dubbo环境部署实战
微服务框架Dubbo环境部署的实战指南,涵盖了Dubbo的概述、服务部署、以及Dubbo web管理页面的部署,旨在指导读者如何搭建和使用Dubbo框架。
1081 17
微服务框架Dubbo环境部署实战
|
Dubbo Java 应用服务中间件
Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架
尼恩团队的15大技术圣经,旨在帮助开发者系统化、体系化地掌握核心技术,提升技术实力,从而在面试和工作中脱颖而出。本文介绍了如何使用Dubbo3.0与Spring Cloud Gateway进行整合,解决传统Dubbo架构缺乏HTTP入口的问题,实现高性能的微服务网关。

推荐镜像

更多