【问题标题】:How to implement non-blocking PUSH messages in Rabbit.js?如何在 Rabbit.js 中实现非阻塞 PUSH 消息?
【发布时间】:2016-03-24 12:50:57
【问题描述】:

我的应用程序目前使用 RabbitMQ 对消息进行排队和处理以启动数据流并将流数据传递到处理区域。

因为我们只希望一个客户端消费数据流,并且只希望一个客户端处理流数据,所以我目前使用的是 PUSH 消息。

我发现的问题是,如果我确认 PUSH 消息以启动数据流并且该过程失败,则该消息将不会重新排队。如果我不确认该消息,则在我确认数据流消息或进程终止之前,将不会收到我的其他 PUSH 消息。

我查看了 REQUEST/REPLY 消息,但我认为同样的问题可能适用于此,如果进程/服务器死亡,我需要自动重新排队。

是否可以使用非阻塞 PUSH 消息?

【问题讨论】:

标签: node.js rabbitmq message-queue


【解决方案1】:

也许值是消费者的“qos”/预取设置:https://www.rabbitmq.com/consumer-prefetch.html 可以将值设置为大于 1 以允许单个消费者一次获取多条消息。这会导致您正在寻找的非阻塞 PUSH(只读)消息吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-26
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多