• 消息回溯


    消息队列 CMQ 消息回溯功能 - 消息队列(Queue)模型 - 文档中心 - 腾讯云 https://cloud.tencent.com/document/product/406/8129

    最近更新时间:2020-07-31 17:41:51

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

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

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

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

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

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

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

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

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

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

    可回溯范围

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

    时间轴

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

  • 相关阅读:
    Linux反编译
    函数调用 堆栈
    机器学习经典书籍
    linux kernel系列四:嵌入式系统中的文件系统以及MTD
    Linux Kernel系列三:Kernel编译和链接中的linker script语法详解
    单页面响应式模板:血色圆月
    Disqus评论框改造工程-Jekyll等静态博客实现Disqus代理访问
    25个Web前端开发工程师必看的国外大牛和酷站
    我们是谁? 程序员!
    GitHub万星项目:黑客成长技术清单
  • 原文地址:https://www.cnblogs.com/rsapaper/p/13504544.html
Copyright © 2020-2023  润新知