【问题标题】:RabbitMQ & MQTT : how to alert a third party of non consumed messages?RabbitMQ & MQTT:如何提醒第三方未消费的消息?
【发布时间】:2014-12-23 18:52:58
【问题描述】:

我正在使用带有 MQTT 插件的 RabbitMQ,生产者和消费者的 QoS=1。 我对 RabbitMQ 还是很陌生,所以我想了解是否有一种方法/有效的模式来确保在消费者不消费他订阅的主题的消息时回退。

例如,如果客户端不使用 MQTT 主题的消息,那么能够在几秒钟后向服务器发送警报会触发另一个通道(电子邮件、推送通知)?

感谢您的帮助!

【问题讨论】:

    标签: rabbitmq mqtt


    【解决方案1】:

    您可以设置per-messageper-queue TTL,然后在Dead Letter Exchanges 扩展的帮助下捕获过期消息。这将作为消费者停滞或缓慢或根本没有消费者的通知。

    【讨论】:

    • 这对 MQTT 主题有什么实际作用?如何为 10 个客户端设置 DLX,并确保只为不使用它的客户端排队消息?
    • MQTT 在 RabbitMQ 实现中的 AMQP 基础之上工作,所以我写的内容可能对你有用,但这真的取决于你如何使用 MQTT。您可以使用预设的 TTL 和 DLX 设置预先创建队列并从 MQTT 使用它。然后创建一些紧急队列并将其绑定到 DLX,并从 MQTT 中使用它来获取过期消息。或者,如果您在运行时创建队列,则可以使用设置 TTL 和 DLX 的策略。其实,你用MQTT还是AMQP都无所谓,我只是给出一个简单的想法。
    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 2016-03-06
    • 2017-08-17
    • 2016-12-15
    • 1970-01-01
    • 2012-10-08
    • 2015-09-27
    • 2020-04-20
    相关资源
    最近更新 更多