【问题标题】:RabbitMQ - Delayed message exchangeRabbitMQ - 延迟消息交换
【发布时间】:2019-06-04 19:19:09
【问题描述】:

目前,我们有 2 个直接通信的系统。

服务 A 连续(但不是定期)向服务 B 发送消息。消息采用简单的键/值格式。 Key 是一个整数,Value 是当前的本地日期和时间。

服务 B,为了决定是否处理请求,有这个逻辑来检查最后一个传入的请求;如果与系统时间(每个键)存在时间差,并且差值超过 10 分钟,则开始处理请求。

既然我们将 RabbitMQ 引入我们的解决方案,我们还需要修改此通信模型。我正在考虑在 10 分钟的时间窗口中使用 延迟消息交换,然后重写并重置从服务 A 传入的重复消息的时间(重新安排另外 10 分钟)。

可以分享您对这个提议的解决方案的想法吗?

【问题讨论】:

    标签: rabbitmq message-queue messagebroker


    【解决方案1】:

    好吧,在阅读了文档之后,我确信这样的逻辑应该在应用层实现(在我的情况下是消费者软件)

    【讨论】:

    • 我同意,但也许你可以指出你是如何得出这个结论的