《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(3)

简介: 《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(3)

《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(2) https://developer.aliyun.com/article/1224234?groupCode=supportservice


4.1.3.2 应用平滑上云-开源RocketMQ迁移上云


和开源RocketMQ相比,阿里云消息队列RocketMQ版具有更高的稳定性、安全性及更完善的运维体系。您可以将开源RocketMQ集群迁移到消息队列RocketMQ版上以获得更好的业务体验,本文介绍开源RocketMQ集群迁移到消息队列RocketMQ版的原理和操作流程。


4.1.3.2.1 迁移原理

对于消息队列来说,如果要实现集群迁移,只需消费完旧集群的消息即可。由于

Producer和Consumer都是集群化的,您可以通过一台一台操作的方式实现上层业务

无感知。


4.1.3.2.2 云原生RocketMQ优势

和开源RocketMQ相比,消息队列RocketMQ版具有以下优势:

高稳定性:消息队列RocketMQ版作为阿里巴巴双十一官方指定消息产品,支撑阿里巴巴集团所有的消息服务,历经十余年高可用与高可靠的严苛考验,具有更高的稳定性。

高性能:历年双11购物狂欢节零点千万级TPS、万亿级数据洪峰,创造了全球最大的业务消息并发以及流转纪录(日志类消息除外);在始终保证高性能前提下,支持亿级消息堆积,不影响集群的正常服务。

丰富的消息类型:提供丰富的消息类型,满足各种严苛场景下的高级特性需求,当前支持的消息类型涵盖普通消息、顺序消息(全局顺序和分区顺序)、分布式事务消息、定时消息、延时消息。

完善的运维体系:消息队列RocketMQ版支持消息查询、全链路消息轨迹查询以及消息回溯等功能,帮助您快速发现和处理系统问题,提高运维效率。

安全访问控制:以消息主题、订阅组的粒度,对每一条消息的收、发请求都进行严格的访问控制,确保消息的安全性;全面支持阿里云RAM主子账号、黑白名单、STS等功能,支持TLS传输加密协议。


4.1.3.2.3 迁移操作流程

开源RocketMQ迁移到消息队列RocketMQ版的操作流程如下图所示:

1684831016862.png


步骤一:创建迁移任务

在消息队列RocketMQ版控制台创建迁移任务,将开源RocketMQ导出的元数据文件导入至消息队列RocketMQ版。

1)登录消息队列RocketMQ版控制台。

2)在左侧导航栏单击迁移上云。

3)在顶部菜单栏,选择地域,如华东1(杭州)。

4)在迁移上云页面左上角单击创建任务。

5)在创建任务配置向导页面,完成以下操作并单击下一步。

a)在任务名称文本框输入迁移上云的任务名称。

说明:任务名称长度限制为3~64个字符,只能包含中文、英文、数字、短划线(-)和下划线(_)。

b)单击元数据参数右侧的点击上传元数据文件按钮,选择提前导出的JSON格式的元数据文件。元数据导出操作,请参见准备工作。

步骤二:迁移评估

从技术和成本方面分别评估迁移上云的条件。

表八:迁移评估

1684831121188.png

1684831128875.png

步骤三:迁移元数据

将Topic和Group的元数据迁移至云上的消息队列RocketMQ版实例中。

1) 登录消息队列RocketMQ版控制台。

2) 在左侧导航栏单击迁移上云。

3) 在顶部菜单栏,选择地域,如华东1(杭州)。

4) 在迁移上云任务列表中选择指定的任务,在其操作列单击详情。

5) 在迁移元数据配置向导页面的目标实例下拉菜单中,选择已创建好的消息队列RocketMQ版实例作为元数据导入的目标实例,并单击确认。

6) 此时所有的Group元数据已经在后台完成自动导入,界面只显示所有Topic的资源列表,您需要完成所有Topic类型的订正及导入操作后才能查看所有资源的导入结果。

7) 完成所有Topic消息类型的订正和导入操作,然后单击页面下方的确认。

a),在资源列表中选择指定的Topic资源,在其消息类型列的下拉菜单中选择Topic类型,然后在其操作列单击确认并导入;您也可以选中多个Topic,确认完所有选中Topic的类型后,单击页面左下角的批量确认并导入。

b) 在弹出的提示对话框中单击确认。

资源列表中将显示所有Topic和Group的信息及迁移结果。您可以在资源列表上方的迁移详情区域查看所有资源的迁移结果总览。您也可以根据资源名称、资源类型或执行结果进行过滤,查看指定资源的迁移结果。

步骤四:迁移消息服务

分批将消息生产者集群和消费者集群的节点连接到云上的消息队列RocketMQ版实例,完成消息收发链路的平滑迁移。

1684831226387.png

1) 切换消费者集群中部分节点的接入信息,将这部分消费者接入到云上的消息队列RocketMQ版。切换的这部分消费者将消费消息队列RocketMQ版集群中的消息,剩余消费者继续消费开源RocketMQ集群中的消息。

2) 切换生产者集群中部分节点的接入信息,将这部分生产者接入到云上消息队列RocketMQ版。切换的这部分生产者将发送消息到消息队列RocketMQ版集群中;剩余的生产者还是将消息发送到开源RocketMQ集群中。

3)将剩余的生产者全部接入到消息队列RocketMQ版上。

4)此时所有消息将全部被发送到云上的消息队列RocketMQ版集群中。

5)将剩余的消费者全部接入到消息队列RocketMQ版上。

注意:切换剩余消费者之前,请确保开源RocketMQ中的消息已全部消费完,否则可能会导致消费遗漏。您可以通过查看开源RocketMQ中的消息堆积量来判断消息是否消费完成。

此时所有的生产者和消费者都迁移到消息队列RocketMQ版集群上,所有的消息收发都在消息队列RocketMQ版集群中完成。


《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(4) https://developer.aliyun.com/article/1224230?groupCode=supportservice

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
3月前
|
弹性计算 Ubuntu Linux
阿里云服务器镜像怎么选?公共、自定义、共享、云市场、社区镜像区别及选择指南
在我们选购阿里云服务器的过程中,精准挑选适配的镜像(也就是云服务器所搭载的操作系统)可以让我们快速部署自己的业务。阿里云服务器镜像体系丰富,主要包含公共镜像、自定义镜像、共享镜像、云市场镜像以及社区镜像这五大类别。本文对各类镜像的特性、区别展开深入且细致的剖析,并为新手用户提供详尽、实用的选择参考。
717 156
|
API 调度 C语言
C++实现进程调度模拟程序——哲学家进餐问题
C++实现进程调度模拟程序——哲学家进餐问题
654 0
|
存储 数据采集 大数据
Flink实时湖仓,为汽车行业数字化加速!
本文由阿里云计算平台产品专家李鲁兵(云觉)分享,聚焦汽车行业大数据应用。内容涵盖市场趋势、典型大数据架构、产品市场地位及能力解读,以及典型客户案例。文章详细介绍了新能源汽车市场的快速增长、大数据架构分析、实时湖仓方案的优势,以及Flink和Paimon在车联网中的应用案例。
852 8
Flink实时湖仓,为汽车行业数字化加速!
|
编解码
从mp4、flv、ts文件中提取出AVC(h264)
使用FFmpeg从mp4、flv、ts等封装格式的文件中提取AVC(H.264)视频流,并将其写入文件。
354 1
|
JavaScript 容器
Vue+Element UI
该博客文章介绍了如何在Vue中集成Element UI来构建后台管理系统的左侧菜单,包括使用`el-menu`、`el-submenu`和`el-menu-item`等组件,并通过Vue router动态构建菜单项及其路由设置。
|
搜索推荐 C++ Python
Python排序算法大PK:归并VS快速,谁才是你的效率之选?
【7月更文挑战第13天】归并排序** 使用分治法,稳定且平均时间复杂度O(n log n),适合保持元素顺序和并行处理。
138 5
|
Linux
如何检查CentOS版本:5种方法
这个文件包含了CentOS的详细版本信息,包括版本号、架构等。
3751 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的银行账目账户管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的银行账目账户管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
238 0
|
SQL 存储 数据库
【SQL Server】数据库开发指南(六)索引和视图的使用技巧、方法与综合应用
索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高在表或视图中的查找数据的速度。它类似于书籍的索引,可以帮助快速定位和检索数据。在数据库中,索引是对一个或多个列的值进行排序和存储的结构,它们包含指向实际数据位置的指针。视图就是一个虚拟的数据表,该数据表中的数据记录是由一条查询语句的查询结果得到的。
700 1
【SQL Server】数据库开发指南(六)索引和视图的使用技巧、方法与综合应用
|
存储 编解码 自然语言处理
史诗级计算机字符编码知识分享,万字长文,一文即懂!
前一阵跟同事碰到了字符乱码的问题,了解后发现这个问题存在两年了,我们程序员每天都在跟编码打交道,但大家对字符编码都是一知半解:“天天吃猪肉却很少见过猪跑”,今天我就把它彻底讲透!
11261 3