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

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
性能测试 PTS,5000VUM额度
简介: 带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 Dubbo通信协议设计概述(下)

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



2. Dubbo2

 

Dubbo2协议是基于TCP传输层协议之上构建的一套RPC通信协议,由于其紧凑、灵活、高性能的特点,在Dubbo2时代取得了非常广泛的应用,是企业构建高性能、大规模微服务集群的关键通信方案。在云原生时代,我们更推荐使用通用性、穿透性更好的Triple协议。

 

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

 

3. gRPC

 

你可以用Dubbo开发和治理微服务,然后设置使用gRPC协议进行底层通信。但为什么要这么做那,与直接使用gRPC框架对比有什么优势?简单的答案是,这是使用gRPC进行微服务开发的常用模式,具体请往下看。

 

gRPC是谷歌开源的基于HTTP/2的通信协议,如同我们在产品对比文档中提到的,gRPC的定位是通信协议与实现,是一款纯粹的RPC框架,而Dubbo定位是一款微服务框架,为微服务实践提供解决方案。因此,相比于Dubbo,gRPC相对欠缺了微服务编程模型、服务治理等能力的抽象。

 

在Dubbo体系下使用gRPC协议gRPC over Dubbo Framework是一个非常高效和轻量的选择,它让你既能使用原生的gRPC协议通信,又避免了基于gRPC进行二次定制与开发的复杂度二次开发与定制gRPC,是很多企业规模化实践后证实不可避免的环节,Dubbo框架替开发者完成了这一步,让开发者可以直接以最简单的方式使用gRPC

 

gRPC over Dubbo示例请参考官网文档中的任务模块

 

4. REST

 

微服务领域常用的一种通信模式是HTTP+JSON,包括Spring Cloud、Microprofile等一些主流的微服务框架都默认使用的这种通信模式,Dubbo同样提供了对基于HTTP的编程、通信模式的支持。

 

HTTP over Dubbo示例请参考官网文档中的任务模块

Dubbo与Spring Cloud体系互通示例请参考官网文档中的任务模块

 

5. 其他通信协议

 

除了以上介绍的几种协议之外,你还可以将以下协议运行在Dubbo之上。对Dubbo而言,只需要修改一行简单的配置,就可以切换底层服务的通信协议,其他外围API和治理能力不受影响。

 

Hessian2

Thrift

JsonRPC

 

6. 异构微服务体系互通

 

关于协议迁移、多协议技术栈共存的实践方案,请参考本篇官网博客文章《使用Dubbo实现异构体系互通》

 

7. 配置方式

 

以上协议的配置和使用方式,包括如何配置单端口多协议支持等,请参照官网sdk示例文档。 

 

8. 自定义扩展

 

除了以上官方版本支持的通信协议,Dubbo支持扩展新协议支持,具体请参见Dubbo官网可扩展性说明

相关文章
|
2月前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
74 2
|
3月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
4月前
|
Dubbo Java 应用服务中间件
💥Spring Cloud Dubbo火爆来袭!微服务通信的终极利器,你知道它有多强大吗?🔥
【8月更文挑战第29天】随着信息技术的发展,微服务架构成为企业应用开发的主流模式,而高效的微服务通信至关重要。Spring Cloud Dubbo通过整合Dubbo与Spring Cloud的优势,提供高性能RPC通信及丰富的生态支持,包括服务注册与发现、负载均衡和容错机制等,简化了服务调用管理并支持多种通信协议,提升了系统的可伸缩性和稳定性,成为微服务通信领域的优选方案。开发者仅需关注业务逻辑,而无需过多关心底层通信细节,使得Spring Cloud Dubbo在未来微服务开发中将更加受到青睐。
90 0
|
1月前
|
存储 Java 关系型数据库
微服务概述
微服务概述
38 1
微服务概述
|
1月前
|
Dubbo Cloud Native 应用服务中间件
阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。
在云原生时代,微服务架构成为主流。阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。示例代码展示了如何在项目中实现两者的整合,通过 Nacos 动态调整服务状态和配置,适应多变的业务需求。
39 2
|
2月前
|
Dubbo Java 应用服务中间件
Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架
尼恩团队的15大技术圣经,旨在帮助开发者系统化、体系化地掌握核心技术,提升技术实力,从而在面试和工作中脱颖而出。本文介绍了如何使用Dubbo3.0与Spring Cloud Gateway进行整合,解决传统Dubbo架构缺乏HTTP入口的问题,实现高性能的微服务网关。
|
3月前
|
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 的全新升级,突破了以往局限,实现了对南北向与东西向流量的全面支持,并提升了对云原生架构的友好性。
156 10
|
3月前
|
Dubbo Java 应用服务中间件
微服务框架Dubbo环境部署实战
微服务框架Dubbo环境部署的实战指南,涵盖了Dubbo的概述、服务部署、以及Dubbo web管理页面的部署,旨在指导读者如何搭建和使用Dubbo框架。
278 17
微服务框架Dubbo环境部署实战
|
4月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
当今社会,物联网技术的发展带来了许多繁琐的挑战,尤其是在数据库管理系统领域,比如实时整合海量数据、处理流中的事件以及处理数据的安全性。例如,应用于智能城市的基于物联网的交通传感器可以实时生成大量的交通数据。据估计,未来5年,物联网设备的数量将达数万亿。物联网产生大量的数据,包括流数据、时间序列数据、RFID数据、传感数据等。要有效地管理这些数据,就需要使用数据库。数据库在充分处理物联网数据方面扮演着非常重要的角色。因此,适当的数据库与适当的平台同等重要。由于物联网在世界上不同的环境中运行,选择合适的数据库变得非常重要。 原创文字,IoTDB 社区可进行使用与传播 一、什么是IoTDB 我
189 9
Apache IoTDB进行IoT相关开发实践
|
4月前
|
Cloud Native Java Nacos
微服务注册中心-Nacos概述
该博客文章提供了对Nacos的全面概述,包括其基本介绍、与Spring Cloud集成的优势、主要功能以及如何在Spring Cloud Alibaba项目中作为服务注册中心使用Nacos。文章解释了Nacos是一个动态服务发现、配置管理和服务管理平台,支持服务发现、健康监测、动态配置、DNS服务和元数据管理。还介绍了如何下载和启动Nacos服务器,以及如何将微服务注册到Nacos中,包括修改pom.xml文件引入依赖、配置application.properties文件和使用@EnableDiscoveryClient注解开启服务注册发现功能。
微服务注册中心-Nacos概述

推荐镜像

更多