当前位置: 首页 > 面试题库 >

读取Azure Service Bus队列

慕容安易
2023-03-14
问题内容

我只是在尝试找出如何最好地尽快从Azure Service Bus队列中检索消息。

我感到震惊的是,没有任何方法可以正确地订阅通知队列,而我将不得不进行轮询。(除非我错了,在这种情况下文档很糟糕)。

我的轮询工作很长,但每60秒检查一条消息似乎每月需要花费900英镑左右(再次,除非我误解了)。而且,如果我添加一个冗余/秒服务来进行轮询,它会加倍。

所以我想知道最好/最经济的方法是什么。

本质上,我只想从队列中获取一条消息,对一些内部保存的数据执行API查找(也许使用混合服务?),然后再将消息与一些其他信息一起发回到另一个队列中。

我看着工人角色(?)-可以做到的事情吗?

我应该提到的是,我一直在考虑使用node.js做到这一点。


问题答案:

在Azure Queues上观看Scott Hanselman和Mark Simms的这些视频。它是C#,但您明白了。

https://channel9.msdn.com/Search?term=azure%20queues%20simms#ch9Search

涉及:

  • 存储队列与服务总线队列
  • 批量抓取消息与一对一抓取(粗俗与闲聊)
  • 处理有毒信息(坏演员)
  • 杂项实施细节
  • 我现在不记得了更多的东西

至于您的计算,您可以执行VM,辅助角色(云服务),App Service Webjob或Azure Functions。

Webjobs SDK和Azure Functions机器人可以订阅队列事件(在消息中通知)。

(从IaaS到PaaS到FaaS列出-Azure Functions-如果存在这种情况)。

Azure Functions已经提供了示例代码作为模板,以对Node进行所有操作。只需创建一个新功能并按照向导进行操作即可。

如果需要在企业内部接触数据,则需要与将V2集成到具有企业内部的站点到站点连接的VNET或混合连接(仅适用于App Service!)进行集成。Azure
Functions尚不能做到这一点,但其他所有计算都是可以的。

https://azure.microsoft.com/zh-cn/documentation/articles/web-sites-hybrid-
connection-get-started/

(该教程仅适用于Windows,但是您可以从任何操作系统中提取数据。HybridConnection
Manager具有(位于Windows机器上),但它充当网络上任何主机的反向代理)。



 类似资料:
  • 因为它是一个队列,所以它将是FIFO,子字符串将导致输出为:OneWour?因为s.substring()是(3),所以不存在任何值。 最后,我在普林斯顿的CS课上发现了两个问题,但我不知道答案是怎么来的 假设客户机执行(queue)、入队和出队操作的混合序列。入队操作将整数0到9按顺序放入队列;出队列操作打印返回值。下列哪个序列不能发生? 假设执行(堆栈)push和pop操作的混合序列。推送按顺

  • 我目前正在使用NServicebus和Azure构建一个应用程序。 常规流程正在运行,但现在我想对应用程序的管理和监视方面做更多的工作。 客户希望看到一个仪表板,在那里他可以看到应用程序的运行状况,也可以纠正问题。 我想做的是: 检测何时将内容发送到错误队列(以便能够向管理员发送警报) 允许管理员处理来自管理应用程序的错误队列消息,而无需求助于提供的命令行工具 在NServicebus中是否有一种

  • 我有以下设置: 外部应用程序写入到jms队列 jms队列也是外部的,所以这里不可能进行配置 运行在Glassfish上的现有应用程序,使用ActiveMQ将服务器连接到jms队列 现有的应用程序是一个MessageDriven bean,实现了MessageListener接口(当消息放在队列中时,当前正在处理消息) 新的要求是消息只能在02:00到04:00的时间段内处理 如何最好地限制Mess

  • 我有Weblogic 12.1.2和IBM WebSphere MQ Explorer 7.5.0.2。 在Weblogic中,我创建了: JMS服务器 我有一个JAVA程序,可以向这个队列发送消息。 我想使用MQ Explorer来读取来自此队列的消息。我如何设置它?我应该在MQ Explorer中做什么和如何设置,以连接到此队列?有人能给我一个Web链接吗?我找不到任何有用的东西,但也许我想错

  • 有一个SQS队列,我在其中不断收到消息。我只需要阅读和处理过去24小时内收到的信息。目前收到的信息应在第二天处理<代码>时间戳存储在消息正文中。 是否可以从SQS队列中选择性地读取消息。例如,只读那些值大于前一天的时间戳但小于当前时间戳(当前时间戳是此作业运行的时间)的消息?

  • 我有一个java客户机,它在队列中发送jms消息(“队列请求”)。该消息包含一个int属性(“id”),其中包含唯一的客户端id号。消息正在处理中,然后进入另一个队列(“队列响应”)。如何让客户机等到具有其id的消息在队列中,然后读取它。我曾尝试使用侦听器并实现onMessage,但当收到消息时,我如何停止侦听?