Topic引流

您在升级云消息队列 Kafka 版实例的流量规格时,可能会触发集群横向扩容。集群横向扩容完成后,您需要进行Topic引流,使Topic流量重新均匀分布到扩容后的集群上。否则原有的Topic流量仍然会打在扩容前的集群节点上,原有的Topic的峰值流量会受限于扩容前的峰值流量。新增的Topic不受限于扩容前的流量规格。

前提条件

您的云消息队列 Kafka 版实例处于服务中正在等待 Topic 引流的状态。

说明

升级实例的流量规格操作以及集群横向扩容触发规则,请参见升级实例配置

注意事项

云消息队列 Kafka 版实例处于正在等待 Topic 引流状态时,您可以正常使用该实例收发消息,但不能在该实例下创建Topic、Group等资源。您必须完成Topic引流或者选择不引流,才能重新创建资源。

引流方式

引流方式

原理

影响

适用场景

持续时间

新增分区

为原集群节点上的所有Topic在扩容后的新节点中增加分区。

  • 分区消息乱序。

  • 分区数量改变。如果您的客户端无法自动感知到新分区(例如:指定分区发送消费以及一些数据处理场景),您可能需要重启或者修改客户端代码。

  • 不要求分区顺序。

  • 不指定分区发送。

  • 消费方式采取订阅。

秒级。

迁移分区(推荐)

  • Local存储:使用kafka-reassign-partitions工具迁移分区数据。

  • 云存储:修改映射关系,不迁移分区数据。

说明

仅专业版实例支持在创建Topic时将存储引擎类型选择为Local存储,标准版暂不支持。

  • Local存储:临时性的内部流量。

  • 云存储:无临时性的内部流量。

任何集群扩容场景。

  • Local存储:分钟级或小时级。取决于要迁移的Local存储数据量。如果数据量较大,可能持续几小时甚至更久,您需要谨慎评估。建议您在业务流量低峰期执行迁移操作。

  • 云存储:秒级。迁移1个Topic大约需要30秒。

不引流(不推荐)

不进行任何操作,即原有的Topic依旧分布在扩容前的集群节点上,新增的Topic均衡分布到扩容后的所有集群节点上。

  • 原有的Topic峰值流量会受限于扩容前的流量规格。

  • 如果原有的Topic流量较大,可能会出现集群节点之间流量不均衡。

  • 原有的Topic流量非常小,并且集群扩容后原有的Topic流量没有较大提升。

  • 集群扩容后会新建Topic,并且绝大部分流量会打在新建的Topic上。

立即生效。

操作步骤

说明

云消息队列 Kafka 版Serverless实例会自动触发Topic引流,您无需在控制台上操作。

  1. 登录云消息队列 Kafka 版控制台,在概览页面的资源分布区域,选择地域。

  2. 实例列表页面,单击目标实例名称。

  3. 实例详情页面的概览区域的右上角,单击Topic 引流

  4. 实例 Topic 引流面板,选择引流方式。如何选择引流方式,请参见引流方式

    Topic 管理页面,可以查看所有的Topic状态待引流

执行结果

Topic引流完成后,在Topic 管理页面,Topic状态变为服务中