首页 文章

实现Azure Service Bus侦听器应用程序

提问于
浏览
4

我正在开发ASP.NET Web API服务并将它们放到要处理的Azure Service Bus队列中 . Web API服务托管在Azure上 .

我需要实现一个监听这些消息的应用程序,并在收到这些消息时对其进行处理 .

我希望这可以在Azure上托管,但不确定最好的方法来解决这个问题 .

  • 您可以实现这样的侦听器服务并在Azure上托管它吗?

  • 实施此类应用程序/服务的最佳方法是什么?

3 回答

  • 2

    你可以做几件事 . 您可以使用ASB的OnMessage API,它允许您注册回调并处理并发和自动完成的传入消息 .

    在Azure上,您有几个选项:Cloud Services(工作者角色),Azure Web Jobs,Azure Functions(如果您的处理速度很快,否则我不推荐它),Service Fabric(如果系统很小,可能有点过分),如果需要,可以使用普通虚拟机 .

    关于功能的警告 - 如果你做了大量工作,功能并不理想,因为你需要为你执行的时间/内存付费 .

  • 0

    侦听队列的工作人员的几个选项是:

    • 功能

    • 网络工作

    您可以在此处查看使用函数的示例:https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-an-event-processing-function .

    使用Web作业的示例如下:https://docs.microsoft.com/en-us/azure/app-service-web/websites-dotnet-webjobs-sdk-service-bus .

    两者都允许您创建使用队列消息的后台作业 . 两者都支持存储和服务总线队列 . 主要区别在于Web作业需要具有一定数量实例的应用程序服务计划,而功能可以在动态计划上运行,该计划可以完全自动扩展 .

    您应该注意,函数不适用于真正长时间运行的作业(超过5-15分钟),尽管它们都不是Web作业 .

  • 5

    为什么不尝试在docker中运行linux进程(守护进程) .

相关问题