You need to enable JavaScript to run this app.
导航

重置消费位点

最近更新时间2024.04.19 11:50:04

首次发布时间2022.03.05 11:34:49

在清除堆积消息、离线数据处理等场景下,需要消费过去某个时段的消息,或清除所有堆积消息,可以对消费位点进行重置操作。消息队列 RocketMQ版控制台支持重置消费位点,改变订阅者当前的消费位置,您可以通过重置消费位点功能直接从最新 Offset 位点或某个指定时间点来消费消息。

背景信息

消息队列 RocketMQ版支持重置 Group 订阅的某一 Topic 或所有 Topic 的消费位点,支持的重置方式包括以下两种。

  • 从最新位点开始消费:该 Group 在消费该 Topic 下的消息时会跳过当前堆积的所有消息,从这之后发送的最新消息开始消费。堆积的消息本身并不会因此被删除。
  • 从指定时间点开始消费:从过去或将来的某个指定时段内选择一个时间点开始消费。该时间段由 Topic 的消息保留时间决定,目前默认为 3 天。

注意事项

  • 消费模式为广播模式时,不支持重置消费位点。
  • 重置消费位点对重试中的消息不生效,因此重置消费位点后,仍然可能会有部分重试消息投递。
  • RocketMQ Go 客户端 SDK 使用重置消费位点功能时,请使用指定 Commit(83f60c154236bb92a5d5e3d40276b546b6079f1b)及后续版本的社区版 Go SDK,否则可能会引起报错或业务异常。详细说明请参考 Go SDK 概述
  • Go、java 和 C++ 客户端 SDK 支持在线重置消费位点,其他语言 SDK 需要先暂停客户端,再重置消费位点。

重置 Group 的消费位点

重置 Group 的消费位点时,会重置此 Group 订阅的所有 Topic 的消费位点,操作步骤如下。

  1. 登录消息队列 RocketMQ版控制台
  2. 在顶部菜单栏中选择地域。
  3. 实例列表中找到指定 RocketMQ 实例,并单击实例名称。
  4. 在顶部页签栏中单击Group管理,页签中展示当前实例下的 Group 列表。
  5. 选择需要重置消费位点的 Group。
  6. 选择重置方式。
    • 从最新位点开始消费:该 Group 在消费 Topic 下的消息时会跳过当前堆积的所有消息,从这之后发送的最新消息开始消费。堆积的消息本身并不会因此被删除。
    • 从指定时间点开始消费:从过去或将来的某个指定时段内选择一个时间点,这个时间点之后发送的消息才会被消费。该时间段由 Topic 的消息保留时间决定,目前默认为 3 天。
  7. 单击重置

重置某个 Topic 的消费位点

  1. 登录消息队列 RocketMQ版控制台
  2. 在顶部菜单栏中选择地域。
  3. 实例列表中找到指定 RocketMQ 实例,并单击实例名称。
  4. 在顶部页签栏中单击Group管理,页签中展示当前实例下的 Group 列表。
  5. 单击 Group ID。
  6. 订阅信息页签,找到需要重置消费位点的 Topic,在操作列单击重置消费位点
  7. 选择重置方式。
    • 从最新位点开始消费:该 Group 在消费该 Topic 下的消息时会跳过当前堆积的所有消息,从这之后发送的最新消息开始消费。堆积的消息本身并不会因此被删除。
    • 从指定时间点开始消费:从过去或将来的某个指定时段内选择一个时间点,这个时间点之后发送的消息才会被消费。该时间段由 Topic 的消息保留时间决定,目前默认为 3 天。
  8. 单击重置