带你读《Apache Dubbo微服务开发从入门到精通》——二、 迁移到应用级服务发现(1)

简介: 带你读《Apache Dubbo微服务开发从入门到精通》——二、 迁移到应用级服务发现(1)

二、 迁移到应用级服务发现


1. 总体升级方案

 

总体上来说,在地址注册与发现环节,3.x是完全兼容2.x版本的,这意味着,用户可以选择将集群内任意数量的应用或机器升级到3.x,同时在这个过程中保持与2.x版本的互操作性。

 

如关心迁移背后工作原理,请参考迁移规则详情与工作原理。

 

1) 快速升级步骤

 

简单的修改pom.xml到最新版本就可以完成升级,如果要迁移到应用级地址,只需要调整开关控制3.x版本的默认行为。

 

升级Provider应用到最新3.x版本依赖,配置双注册开关dubbo.application.register-mode=all(建议通过全局配置中心设置,默认已自动开启),完成应用发布。

 

升级Consumer应用到最新3.x版本依赖,配置双订阅开关dubbo.application.service-discovery.migration=APPLICATION_FIRST(建议通过全局配置中心设置,默认已自动开启),完成应用发布。

 

在确认Provider的上有Consumer全部完成应用级地址迁移后,Provider切到应用级地址单注册。完成升级。

 

以下是关于迁移流程的详细描述。

 

2) Provider端升级过程详解

 

在不改变任何Dubbo配置的情况下,可以将一个应用或实例升级到3.x版本,升级后的Dubbo实例会默保保证与2.x版本的兼容性,即会正常注册2.x格式的地址到注册中心,因此升级后的实例仍会对整个集群仍保持可见状态。

 

同时新的地址发现模型(注册应用级别的地址)也将会自动注册。

 


image.png

 

通过-D参数,可以指定provider启动时的注册行为

 

image.png

 

另外,可以在配置中心修改全局默认行为,来控制所有3.x实例注册行为。其中,全局性开关的优先级低于-D参数。

 

为了保证平滑迁移,即升级到3.x的实例能同时被2.x与3.x的消费者实例发现,3.x实例需要开启双注册;当所有上游的消费端都迁移到3.x的地址模型后,提供端就可以切换到instance模式(只注册应用级地址)。对于如何升级消费端到3.x请参见下一小节。

 

a) 双注册带来的资源消耗

 

双注册不可避免的会带来额外的注册中心存储压力,但考虑到应用级地址发现模型的数据量在存储方面的极大优势,即使对于一些超大规模集群的用户而言,新增的数据量也并不会带来存储问题。总体来说,对于一个普通集群而言,数据增长可控制在之前数据总量的1/100~1/1000。

 

以一个中等规模的集群实例来说:2000实例、50个应用(500个Dubbo接口,平均每个应用10个接口)。

 

• 假设每个接口级URL地址平均大小为5kb,每个应用级URL平均大小为0.5kb。

• 老的接口级地址量:2000 * 500 * 5kb ≈ 4.8G

• 新的应用级地址量:2000 * 50 * 0.5kb  ≈ 48M

• 双注册后仅仅增加了48M的数据量。

 

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(2) https://developer.aliyun.com/article/1223589

 


 


 



 



相关文章
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
1301 5
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
525 2
|
人工智能 Dubbo 应用服务中间件
使用 Apache Dubbo 释放 DeepSeek R1 的全部潜力
本文介绍了如何利用 Apache Dubbo 的多语言 SDK 充分释放 DeepSeek R1 的全部潜力,助力 AI 开发的高效落地。
691 119
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
安全 网络协议 应用服务中间件
AJP Connector:深入解析及在Apache HTTP Server中的应用
【9月更文挑战第6天】在Java Web应用开发中,Tomcat作为广泛使用的Servlet容器,经常与Apache HTTP Server结合使用,以提供高效、稳定的Web服务。而AJP Connector(Apache JServ Protocol Connector)作为连接Tomcat和Apache HTTP Server的重要桥梁,扮演着至关重要的角色
924 2
|
Dubbo 安全 应用服务中间件
Apache Dubbo 正式发布 HTTP/3 版本 RPC 协议,弱网效率提升 6 倍
在 Apache Dubbo 3.3.0 版本之后,官方推出了全新升级的 Triple X 协议,全面支持 HTTP/1、HTTP/2 和 HTTP/3 协议。本文将围绕 Triple 协议对 HTTP/3 的支持进行详细阐述,包括其设计目标、实际应用案例、性能测试结果以及源码架构分析等内容。
1522 136
|
Dubbo Java 应用服务中间件
💥Spring Cloud Dubbo火爆来袭!微服务通信的终极利器,你知道它有多强大吗?🔥
【8月更文挑战第29天】随着信息技术的发展,微服务架构成为企业应用开发的主流模式,而高效的微服务通信至关重要。Spring Cloud Dubbo通过整合Dubbo与Spring Cloud的优势,提供高性能RPC通信及丰富的生态支持,包括服务注册与发现、负载均衡和容错机制等,简化了服务调用管理并支持多种通信协议,提升了系统的可伸缩性和稳定性,成为微服务通信领域的优选方案。开发者仅需关注业务逻辑,而无需过多关心底层通信细节,使得Spring Cloud Dubbo在未来微服务开发中将更加受到青睐。
428 0
|
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 的全新升级,突破了以往局限,实现了对南北向与东西向流量的全面支持,并提升了对云原生架构的友好性。
764 122
|
Java 网络安全 Apache
SshClient应用指南:使用org.apache.sshd库在服务器中执行命令。
总结起来,Apache SSHD库是一个强大的工具,甚至可以用于创建你自己的SSH Server。当你需要在服务器中执行命令时,这无疑是非常有用的。希望这个指南能对你有所帮助,并祝你在使用Apache SSHD库中有一个愉快的旅程!
1140 29
|
Dubbo Java 应用服务中间件
微服务框架Dubbo环境部署实战
微服务框架Dubbo环境部署的实战指南,涵盖了Dubbo的概述、服务部署、以及Dubbo web管理页面的部署,旨在指导读者如何搭建和使用Dubbo框架。
1441 17
微服务框架Dubbo环境部署实战

热门文章

最新文章

推荐镜像

更多