重置消费位点是指改变订阅者当前的消费位置。您可通过重置消费位点,按需清除堆积的或不想消费的这部分消息再开始消费,或直接跳转到某个时间点消费该时间点之后的消息(不论是否消费过该时间点之前的消息)。

具体包含以下两个功能:

  • 消息清除:因为某种原因,订阅者不准备再继续消费 Broker 上堆积的消息,此时通过清除消息,可以将消费位点指定到最新的位置。
    注意 堆积的消息本身并不会因此被删除,改变的只是消费位点。
  • 指定时间点开始消费:将某个 Consumer Group 的位点重置到过去或者将来的某个时间点(该时间点以 Topic 的消息存储时间为准,假设为“t”)。重置过后,Consumer Group 将从“t”时间点之后的消息开始订阅。

前提条件

已停止所有 Consumer 客户端(消息队列 for Apache Kafka 不支持在线重置消费位点)。

注意 在停止 Consumer 客户端后,需要经过 ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG 配置的时间(默认 10000 毫秒),服务端才认为 Consumer 真正下线。

操作步骤

  1. 登录消息队列 for Apache Kafka 控制台。在顶部导航栏,选择实例所在的地域(Region),如华东1(杭州)

  2. 在左侧导航栏,单击Consumer Group管理

  3. Consumer Group管理页面的搜索框中输入 Consumer Group 名称, 然后单击搜索

  4. Consumer Group管理页面的相应 Consumer Group 的操作列,单击重置消费位点

  5. 在弹出的对话框中选择您要采用的重置策略,然后单击确认

    重置策略有以下两个可选项:

    • 清除所有堆积消息,从最新位点开始消费:对应本文开头介绍的消息清除功能

    • 按时间点进行消费位点重置:对应本文开头介绍的指定时间点开始消费功能(若选择此项,需选择时间点)