【问题标题】:How do I run an Azure Service Bus Topics subscriber app 24/7 in Azure?如何在 Azure 中 24/7 全天候运行 Azure 服务总线主题订阅者应用?
【发布时间】:2020-06-13 00:05:50
【问题描述】:

有一个示例 here 解释了如何通过发布者和订阅者应用程序使用 Azure 服务总线发送和接收消息。

我的问题是关于接收消息的订阅者应用程序:

  1. 在应用程序中注册一个带有 subscriptionClient.RegisterMessageHandler(ProcessMessagesAsync, messageHandlerOptions); 的消息处理程序是否会 24/7 全天候处理消息,直到应用程序关闭?
  2. 能否仅通过 Docker 容器在 Azure 中部署订阅者控制台应用程序?如果我不想使用容器,我还有其他托管选项是什么?我之前做过 CI/CD 管道,以便在 Visual Studio 2019Azure App Services 中托管 WebAPI。

【问题讨论】:

    标签: azure azureservicebus azure-servicebus-queues azure-servicebus-topics


    【解决方案1】:

    是否在应用程序中使用 subscriptionClient.RegisterMessageHandler(ProcessMessagesAsync, messageHandlerOptions) 注册消息处理程序; 24/7 全天候处理消息,直到应用程序关闭?

    没错。该 API 旨在用于需要处理的连续消息流。

    我能否仅通过 Docker 容器在 Azure 中部署订阅者控制台应用程序?如果我不想使用容器,我还有什么托管选项?

    您可以使用以下选项托管连续运行的 Azure 服务总线处理:

    • 虚拟机
    • AKS/ACI
    • Service Fabric
    • Azure WebJobs(需要 WebApp)

    另一种选择是查看Azure Functions。虽然它不是 24/7 全天候运行,但它允许响应式应用程序。

    【讨论】:

    • 我的消息处理程序必须处理大量数据,因此我试图远离我认为必须快速运行的 Azure Functions。我去年接受了 Udi Dahan 的培训。随着我的产品成熟,我可能会转向 NServiceBus
    • Azure Functions 在消费计划下每次执行的执行时间限制为 10 分钟,在 Premium 下为 60 分钟,在 Dedicated(应用服务)下不受限制。如果每条消息需要长时间执行,您需要处理大量数据,您可以使用任何其他允许 24/7 运行的托管选项,或者查看 Premium 或专用的 Functions。更多信息here.
    猜你喜欢
    • 1970-01-01
    • 2017-10-23
    • 2023-03-09
    • 2018-08-27
    • 2016-02-10
    • 2016-12-29
    • 2018-07-25
    • 2017-11-19
    • 2019-02-12
    相关资源
    最近更新 更多