上云无忧 > 文档中心 > 百度智能云专享版消息服务 for Kafka 实践:业务迁移
消息服务 for Kafka
百度智能云专享版消息服务 for Kafka 实践:业务迁移

文档简介:
方案一: 先将生产消息的业务迁移到新的Kafka,原Kafka不会有新的消息生产。待原有Kafka实例的消息全部消费完成后,再将消费消息业务迁移到新的Kafka,开始消费新Kafka实例的消息。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

方案一

先将生产消息的业务迁移到新的Kafka,原Kafka不会有新的消息生产。待原有Kafka实例的消息全部消费完成后,再将消费消息业务迁移到新的Kafka,开始消费新Kafka实例的消息。 

  1. 创建专业版Kafka集群,在集群中创建好 topic 等资源
  2. 切换生产者写入地址:

    1. 将生产客户端的Kafka连接地址修改为新Kafka实例的连接地址。
    2. 重启生产业务,使得生产者将新的消息发送到新Kafka实例中。
  3. 观察各消费组在原Kafka的消费进度,直到原Kafka中数据都已经被消费完毕。
  4. 切换消费者

    1. 将消费客户端的Kafka连接地址修改为新Kafka实例的连接地址。
    2. 重启消费业务,使得消费者从新Kafka实例中消费消息。
  5. 观察消费者是否能正常从新 Kafka 实例中获取数据。
  6. 迁移结束。

本方案为业界通用的迁移方案,操作步骤简单,迁移过程由业务侧自主控制,整个过程中消息不会存在乱序问题,适用于对消息顺序有要求的场景。但是该方案中需要等待消费者业务直至消费完毕,存在一个时间差的问题,部分数据可能存在较大的端到端时延。

方案二

指消费者业务启用多个消费客户端,分别向原Kafka和新Kafka实例消费消息,然后将生产业务切到新Kafka实例,这样能确保所有消息都被及时消费。

  1. 创建专业版Kafka集群,在集群中创建好topic等资源
  2. 启动新的消费客户端,配置Kafka连接地址为新Kafka实例的连接地址,消费新Kafka实例中的数据。(原有消费客户端需继续运行,消费业务同时消费原Kafka与新Kafka实例的消息。)
  3. 切换生产者写入地址:

    1. 修改生产客户端,Kafka连接地址改为新Kafka实例的连接地址。
    2. 重启生产客户端,将生产业务迁移到新Kafka实例中。
    3. 生产业务迁移后,观察连接新Kafka实例的消费业务是否正常。
  4. 等待原Kafka中数据消费完毕,关闭原有消费业务客户端。
  5. 迁移结束。

迁移过程由业务自主控制。本方案中消费业务会在一段时间内同时消费原Kafka和新Kafka实例。由于在迁移生产业务之前,已经有消费业务运行在新Kafka实例上,因此不会存在端到端时延的问题。但在迁移生产的开始阶段,同时消费原Kafka与新Kafka实例,会导致部分消息之间的生产顺序无法保证,存在消息乱序的问题。此场景适用于对端到端时延有要求,却对消息顺序不敏感的业务。

相似文档
  • 概述: 百度消息服务(Baidu Messaging System BMS)是全兼容Apache Kafka的分布式、高可扩展、高通量的托管消息队列服务,您可以直接享用Kafka带来的先进功能而无需考虑集群运维,并按照使用量付费。
  • 创建主题: 注册并登录百度智能云平台,具体操作请参考注册和登录。 登录成功后,选择“产品服务 -> 消息服务 for Kafka”,点击“主题”后进入主题列表页。 点击“创建主题”,设置主题名称和分区个数:
  • 介绍: 多用户访问控制,主要用于帮助用户管理云账户下资源的访问权限,适用于企业内的不同角色,可以对不同的工作人员赋予使用产品的不同权限,当您的企业存在多用户协同操作资源时,推荐您使用多用户访问控制。
  • 查看监控: 进入“产品服务>百度消息服务>主题”,点击要查看的主题名称,在详情页面中可看到监控数据图。 主题监控: 可以查看该topic每秒读写的数据量(单位字节/秒),以及写入的消息个数(单位个/秒)。
  • 名词解释: 分区:分区是基本吞吐量单位,一个分区提供1MB/秒数据输入和2MB/秒输出通量。您可根据通量要求指定数据流所需的分区数量,并按小时对每个分区付费。运行时间不足1小时不收费。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部