代码之家  ›  专栏  ›  技术社区  ›  thankyoussd Svyatoslav Danyliv

通过Azure函数处理Azure事件中心事件。NET核心控制台应用程序使用Azure。消息。EventHub SDK,有什么实际区别吗?

  •  0
  • thankyoussd Svyatoslav Danyliv  · 技术社区  · 4 年前

    我的应用程序需要一个后台服务,不断接收和处理从Azure事件中心流式传输的事件。

    我看到Azure Functions有内置的触发器,但问题是我的应用程序是用写的。目前,对.NET 5和Azure Function的支持还相当不成熟。

    我也看到 this documentation 那。NET有一个现成的SDK Azure.Messaging.EventHubs 。我的理解是,这将作为控制台应用程序运行。

    我已经在使用Azure应用服务(Linux计划)来托管主web应用程序。

    因此,如果我使用以下命令创建控制台应用程序 Azure。消息。活动中心 ,我想将其部署为类似于web作业的东西,但Linux应用程序服务计划不支持它。我想我可以将控制台应用程序部署到单独的Windows应用程序服务方案中。

    下一个最佳选择是什么?与使用Azure Functions相比,是否存在任何实际差异?

    还有这个。NET Core Worker Service,针对后台服务进行了更优化。我想知道在这个用例中是否有它的位置。

    这些选择让我有点困惑。非常感谢您的建议。

    0 回复  |  直到 4 年前
        1
  •  0
  •   Ivan Glasenberg    4 年前

    Azure function 应该是最好的选择。它具有内置的eventhub触发器和进程逻辑,易于设置/配置(如通过Application Insights进行日志记录)/编写的代码更少。最近(2021年3月10日), it is supported for running production .NET 5 apps on Azure Functions 。我建议你试试看,如果没有问题,可以使用它。

    For azure webjobs 在这种情况下,如果你直接使用SDK,你需要编写许多代码并配置日志记录等功能。

    For .NET Core Worker Service ,如果你想使用它,它也可以发布为azure webjobs this doc 关于如何将worker服务发布为azure webjob。