【发布时间】:2019-02-08 17:30:41
【问题描述】:
背景
我有几个客户端将消息发送到 azure 服务总线队列。为了匹配它,我需要几台机器从该队列中读取并在消息到达时使用 Node.js。
研究
我已经阅读了azure service bus queues tutorial 并且我知道我可以使用receiveQueueMessage 从队列中读取消息。
但是,本教程没有提到如何在消息到达后立即收听队列并读取消息。
我知道我可以简单地轮询队列中的消息,但这会向服务器发送垃圾邮件请求并没有真正的好处。
在SO中搜索后,我发现有人遇到类似问题的讨论:
我知道他们最终使用了 C# 异步方法 ReceiveAsync,但我不清楚是否:
- 该方法适用于 Node.js
- 如果该方法在消息到达后立即从队列中读取消息,就像我需要的那样。
问题
Node.js 的文档几乎不存在,该教程是我找到的唯一主要文档。
问题
- 如何通知我的工作人员 Azure 总线服务队列中的传入消息?
【问题讨论】:
-
我并没有真正使用 Azure,但在使用 AWS SQS 时遇到了同样的问题。我相信唯一的方法是轮询消息,因为它是长时间轮询,您可以打开连接并等待相当长的时间直到连接终止。也许这个用于 SQS 的 npm 包的代码将帮助您在 Node.js 中实现它 - github.com/bbc/sqs-consumer
标签: node.js azure azureservicebus azure-servicebus-queues