【问题标题】:Store last value added to rabbitmq存储最后添加到rabbitmq的值
【发布时间】:2023-03-14 05:37:02
【问题描述】:

我是 rabbitmq 的新手,我想将其配置为仅存储添加到队列中的最后一个值。如何配置它以便只存储最后一个值

如果这不可行,我可以使用什么队列?

谢谢

【问题讨论】:

    标签: rabbitmq queue message-queue


    【解决方案1】:

    RabbitMQ 是一个队列系统,你不能只存储“最后一个”值。它将所有消息存储为 FIFO

    我建议从基本的 AMQP 概念开始: https://www.rabbitmq.com/getstarted.html

    【讨论】:

    • 感谢您的回复,我知道这是一个 FIFO。我需要一个只保留添加到它的最后一个值的队列。如果有任何配置可以使用rabbitmq 执行此操作。
    • 默认没有这种队列,需要手动做。
    【解决方案2】:

    虽然您尝试执行的操作似乎不适合 RabbitMQ 等消息传递系统的标准使用,但我想您可以通过将 queue length 配置为 1 来获得所需的行为

    当设置了最大队列长度或大小并达到最大值时,RabbitMQ 的默认行为是从队列的前面丢弃或死信消息(即队列中最旧的消息)。

    所以定义一个长度为 1 的队列意味着只保留最新的消息。

    【讨论】:

    • 你能推荐我其他队列吗?
    • 其他队列是什么意思?
    • 如果你能推荐我另一个队列来只存储一个值,最后一个。
    • 我完全推荐另一个工具 旨在保持价值/配对信息的工具似乎更适合您的需求。例如 etcd 或等效的。我的建议是使用rabbitmq来满足这个需求的一种“hack”,但是要“保留”那里的值,你需要阅读包含它的消息然后重新排队,这绝对不是你应该设置的逻辑消息系统。这不是它们应该用于的用途。
    猜你喜欢
    • 1970-01-01
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 2018-07-29
    相关资源
    最近更新 更多