Node.js 读取Azure服务总线队列
我只是想找出如何最好地从Azure服务总线队列中尽快检索消息 我感到震惊的是,没有办法正确订阅通知队列,我将不得不进行投票。(除非我错了,在这种情况下,文档很糟糕) 我做了很长时间的民意调查,但每60秒检查一条消息似乎每月要花费900英镑左右(再说一次,除非我误解了这一点)。如果我添加一个冗余/秒服务来轮询,它将加倍 所以我想知道做这件事的最佳/最具成本效益的方法是什么 本质上,我只想从队列中获取一条消息,对一些内部保存的数据执行API查找(可能使用混合服务?),然后可能将一条消息和一些附加信息发布回另一个队列 我研究了工人角色(?)——这是可以做到的吗Node.js 读取Azure服务总线队列,node.js,azure,azureservicebus,Node.js,Azure,Azureservicebus,我只是想找出如何最好地从Azure服务总线队列中尽快检索消息 我感到震惊的是,没有办法正确订阅通知队列,我将不得不进行投票。(除非我错了,在这种情况下,文档很糟糕) 我做了很长时间的民意调查,但每60秒检查一条消息似乎每月要花费900英镑左右(再说一次,除非我误解了这一点)。如果我添加一个冗余/秒服务来轮询,它将加倍 所以我想知道做这件事的最佳/最具成本效益的方法是什么 本质上,我只想从队列中获取一条消息,对一些内部保存的数据执行API查找(可能使用混合服务?),然后可能将一条消息和一些附加信息
我应该提到,我一直在考虑使用node.js来实现这一点 查看这些来自Scott Hanselman和Mark Simms在Azure队列上的视频。 这是C#但你明白了 涉及:
- 存储队列与服务总线队列
- 批量抓取消息与逐个抓取消息(粗块与闲聊)
- 处理有毒信息(坏演员)
- 杂项实施详情
- 还有很多我现在记不起来的东西
(该教程仅适用于Windows,但您可以从任何操作系统中提取数据。混合连接管理器必须位于Windows机箱上,但随后它将充当网络上任何主机的反向代理)。查看Azure队列上Scott Hanselman和Mark Simms的这些视频。 这是C#但你明白了 涉及:
- 存储队列与服务总线队列
- 批量抓取消息与逐个抓取消息(粗块与闲聊)
- 处理有毒信息(坏演员)
- 杂项实施详情
- 还有很多我现在记不起来的东西
(该教程仅适用于Windows,但您可以从任何操作系统提取数据。混合连接管理器必须位于Windows机箱上,但随后它将充当网络上任何主机的反向代理)。要轻松处理Azure ServiceBus队列,最好的选择似乎是 存在允许您从Azure ServiceBus队列获取消息的 对于node.js集成,您应该看看。它构建在webjob SDK之上,具有node.js集成:
module.exports = function(context, myQueueItem) {
context.log('Node.js ServiceBus queue trigger function processed message', myQueueItem);
context.done();
};
要轻松处理Azure ServiceBus队列,最好的选择似乎是 存在允许您从Azure ServiceBus队列获取消息的 对于node.js集成,您应该看看。它构建在webjob SDK之上,具有node.js集成:
module.exports = function(context, myQueueItem) {
context.log('Node.js ServiceBus queue trigger function processed message', myQueueItem);
context.done();
};
工人角色与服务总线无关-他们只是无状态的Windows Server VM,具有特定的配置和扩展方式。您是如何获得价格的?服务总线队列是免费的。而一条信息的成本并不在于感谢回复。我在某个地方看到,我认为工作人员角色可以得到队列添加的通知,这正是我提出这个问题的原因。对于定价,它是在http调用的代理连接下进行的,我假设这就是轮询所使用的。只有前1000个是标准层免费的。我是不是搞错了,那太好了。再次感谢。看来我可能弄错了。。常见问题解答建议,收费是针对“并发代理连接的峰值数量”,并且“峰值是以小时为单位测量的,按比例除以一个月744小时”。他们给出了如下示例:“10000个设备通过HTTP从服务总线队列接收消息,指定非零超时。如果所有设备每天连接12小时,您将看到以下连接费用10000个HTTP接收连接*每天12小时*31天/744小时=5000个代理连接。”所以,如果我的理解是正确的,让一个脚本每55秒执行一次长轮询(允许的最大值),这只算作一个“并发”连接,对吗?即使它每55秒进行一次投票?这就是1台设备*24小时*31天/744小时=我允许的100台设备中的1台