实施 Azure 服务总线侦听器应用程序
Implementing an Azure Service Bus listener application
我正在开发 ASP.NET Web API 服务并将这些服务放入 Azure 服务总线队列中进行处理。 Web API 服务托管在 Azure 上。
我需要实现一个应用程序来侦听这些消息并在收到消息时进行处理。
我希望将其托管在 Azure 上,但不确定实现此目的的最佳方式。
- 你能实现这样的侦听器服务并将其托管在 Azure 上吗?
- 实施此类应用程序/服务的最佳方法是什么?
监听队列的工作人员的几个选项是:
- 函数
- 网络工作
您可以在此处查看使用函数的示例: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 作业需要具有一定数量实例的应用服务计划,而函数可以 运行 在动态计划上,该计划完全自动扩展。
您应该注意,函数并不适用于非常长的 运行ning 作业(超过 5-15 分钟),尽管 Web 作业也不是。
您可以做几件事。
您可以使用 ASB 的 OnMessage API,它允许您注册回调并使用并发和自动完成处理传入消息。
在 Azure 上你有几个选择:Cloud Services (worker roles), Azure Web Jobs, Azure Functions(如果你的处理速度很快,否则我不推荐),Service Fabric(如果系统很小,可能有点矫枉过正),以及普通虚拟机(如果需要)。
关于功能的警告 - 如果您从事高强度工作,功能并不理想,因为您会为执行的 time/memory 付费。
为什么不在 docker 中尝试 运行 一个 linux 进程(守护进程)。
我正在开发 ASP.NET Web API 服务并将这些服务放入 Azure 服务总线队列中进行处理。 Web API 服务托管在 Azure 上。
我需要实现一个应用程序来侦听这些消息并在收到消息时进行处理。
我希望将其托管在 Azure 上,但不确定实现此目的的最佳方式。
- 你能实现这样的侦听器服务并将其托管在 Azure 上吗?
- 实施此类应用程序/服务的最佳方法是什么?
监听队列的工作人员的几个选项是:
- 函数
- 网络工作
您可以在此处查看使用函数的示例: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 作业需要具有一定数量实例的应用服务计划,而函数可以 运行 在动态计划上,该计划完全自动扩展。
您应该注意,函数并不适用于非常长的 运行ning 作业(超过 5-15 分钟),尽管 Web 作业也不是。
您可以做几件事。 您可以使用 ASB 的 OnMessage API,它允许您注册回调并使用并发和自动完成处理传入消息。
在 Azure 上你有几个选择:Cloud Services (worker roles), Azure Web Jobs, Azure Functions(如果你的处理速度很快,否则我不推荐),Service Fabric(如果系统很小,可能有点矫枉过正),以及普通虚拟机(如果需要)。
关于功能的警告 - 如果您从事高强度工作,功能并不理想,因为您会为执行的 time/memory 付费。
为什么不在 docker 中尝试 运行 一个 linux 进程(守护进程)。