tencent cloud

文档反馈

消息回溯功能

最后更新时间:2020-08-04 15:39:49

    CMQ 提供类似于 Kafka 的消息回溯能力。使用消息回溯,您可在业务成功消费并删除消息后重新消费已删除的消息。此功能便于核心金融业务做业务对账、业务系统重试等操作。

    功能说明

    如上图,消息的生命周期为蓝色框内的片段。开启消息回溯能力后,已被消费者消费且确认删除的消息会进入消息可回溯区域,CMQ 后端还会保存该信息。但消息超过 Queue 的消息生命周期时(假设为1天),达到生命周期后,该消息会自动删除,不可回溯。具体产品逻辑如下:

    • 开启:若未开启消息回溯能力,则消费者已消费且确认删除的消息会立即删除。开启该功能时,须指定回溯的可回溯周期,可回溯周期的范围必须小于等于消息的生命周期。

    • 里程碑:根据上一条策略,开启消息回溯后,随着消费者的不断消费及删除,可回溯的消息数量会不断增多。

    • 关闭:关闭消息回溯后,消息可回溯区域的消息将被立即删除,且不可回溯。

    • 队列属性:消息回溯是 Queue 的属性,可在创建时或在修改配置处进行设置。指定回溯(rewind)的时间点后,所有消费者都会从该时间点的消息往后消费。

    • 计费:开启消息回溯能力后,可回溯部分的消息会产生一定的堆积费用,单位价格与消息堆积的费用共同计算。

    • 指定回溯时间点:消费者发起回溯消费,需要指定 Queue Name 及具体的回溯时间。且从最远的时间点,往回回溯。时间为 key,不可逆向消费。 如图所示,只能从 timeA 到 timeB/timeC 消费,不支持反向消费。

    • 指定回溯时间范围:0 - 15天,控制台开启该能力后,删除的消息才可被回溯。建议关键应用,长期开启消息回溯能力。且消息回溯周期,与消息生命周期设成一致。

    • 不可指定堆积中的消息回溯:若消息仍在堆积中,未被消费,则无法指定某一个具体的位置进行消费。

    可回溯范围

    最大可回溯时间点 = 当前时间 - 设置的可回溯时长。消息生产时间在这个值之前的不可回溯,之后的可回溯。

    时间轴

    消息回溯 以消息生产的时间为排序标准,与被删除的先后无关。

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持