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

前提条件

已停止所有Consumer客户端(消息队列Kafka版不支持在线重置消费位点)。
注意 在停止Consumer客户端后,需要经过ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG配置的时间(默认10000ms),服务端才认为Consumer真正下线。

背景信息

消息队列Kafka版支持以下重置消费位点方式:

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

操作步骤

  1. 登录消息队列Kafka版控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击Consumer Group管理
  4. Consumer Group管理页面顶部,单击目标实例,找到目标Consumer Group,在其右侧操作列,单击重置消费位点
  5. 重置消费位点对话框,从Topic列表,选择Topic,勾选重置策略,然后单击确定

    消息队列Kafka版提供以下重置策略:

    • 清除所有堆积消息,从最新位点开始消费:对应本文开头介绍的消息清除功能。clearall
    • 按时间点进行消费位点重置:对应本文开头介绍的指定时间点开始消费功能(若选择此项,需选择时间点)。bytime