消息服务DMS使用实践 - 如何重置消费组位点

本文介绍了Kafka中消费重置的功能及应用场景,包括如何重新消费所有消息、跳过当前消息仅消费新消息以及自定义时间点后的消息消费。同时提供了详细的重置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过消费组A开始消费队列中的消息,消费到中途时由于故障导致已消费的消息在客户端未保存,所以需要重新再消费一遍,但是由于Kafka内部机制的原因已消费成功的消息无法再次消费,可怎办呢?

终于在帮助中找到如下内容,可以解决我的问题:

如果想跳过某些未消费的消息,或者想重新消费队列中的已消费的消息,或者只想消费某个时间点之后的消息(这些消息不论之前是否消费过),那么可以通过“消费重置”功能实现选择性跳过或者重新消费。

消费重置支持以下三种场景:

  • 消费位置重置到最前:

    重新消费队列中的所有的消息,不论之前是否已消费过。

  • 消费位置重置到最后:

    跳过队列中当前所有的消息,只消费“重置”之后新生产的消息。

  • 自定义重置位置:

    只消费队列中某一时间点之后的消息。

     说明:

    如果执行了消费重置,则重置位置之前的消息都变成已消费消息数,不管重置之前是否已消费。

 

操作步骤

 

  1. 登录管理控制台
  2. 在管理控制台左上角单击图标,选择区域。
  3. 单击页面上方的“服务列表”,选择“应用服务 > 分布式消息服务”,进入分布式消息服务信息页面。
  4. 单击左侧菜单栏的“队列管理”,进入“队列管理”页面。
  5. 单击指定队列的名称,显示队列详情。
  6. 选择“消费组”,显示消费组列表。
  7. 单击消费组后的“更多”,选择“消费重置”,进入“消费重置”页面。
  8. 选择“重置位置”、是否强制重置,单击“确定”,执行重置消费位置。

     

    表1 消费消息参数说明

    参数

    说明

    重置位置

    • 从队列头端消费消息:重置成功后,该消费组从队列的最头端开始消费。
    • 自定义时间消费消息:重置成功后,该消费组只能消费重置时间点之后的消息。
    • 从队列尾端消费消息:重置成功后,该消费组只能消费队列中新生产的消息。

    默认为从队列头端消费消息。

    自定义时间

    当重置位置选择“自定义时间消费消息”时,需要设置自定义时间,并且只能选择72小时范围内的时间。

    强制重置

    关闭:重置时如果消费组正在消费消息,则重置会失败。

    打开:强制进行消费重置,如果消费组正在消费消息,则可能会消费失败。

    默认为关闭。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值