Azure函数 vs ASP.NET Core工作服务?

7

Azure函数与ASP.NET Core工作器服务有何区别?

这两者是否涵盖相同的用例?我该如何决定使用哪个?


它们是两个不同的东西。你甚至可以将一个ASP.NET Core工作服务托管为Azure函数,有效地同时使用两者。没有人能告诉你在这里该怎么做。你需要根据你的应用需求进行自己的研究和决策。 - Chris Pratt
2个回答

7

更新:

Azure函数是专为Azure设计的。因此,当您使用Azure或其他与Azure函数集成的Azure服务时,应考虑使用Azure函数,它可以通过Azure函数的内置功能简化您的代码和逻辑。但这也将产生Azure函数的费用。如果您不使用Azure,只需使用ASP.NET Core工作程序服务。


Azure功能与ASP.NET Core工作服务完全不同。
Azure函数的好处在于它支持很多触发器,例如azure blob trigger/azure event hub trigger,并且与其他Azure服务集成。
有了这些内置功能,很容易创建一个适当的Azure函数来完成适当的任务。例如,如果您将图像上传到Azure Blob存储,并且想要调整图像大小,您可以使用更少的代码轻松地创建blob触发器Azure函数
工作服务是任何后台处理的完美用例。如果您想操作一些Azure服务,例如azure blob/azure event hub等,则可以实现此操作,但需要做很多工作。
最后,选择使用哪一个取决于您的用例,并选择简单/高效的一个。

我大致知道Azure函数是什么,也了解它们的触发器。但很难说它们与ASP.NET Core Worker Services相比较,以及哪种服务适用于哪些场景。当存在Azure函数时,是否有任何理由使用ASP.NET Core Worker Services?或者ASP.NET Core Worker Services只适用于不使用Azure的人? - Fred
@Fred,你的考虑是正确的。Azure函数是为Azure设计的。因此,当你使用Azure或其他与Azure函数集成的Azure服务时,你应该考虑使用Azure函数,它可以通过Azure函数的内置功能简化你的代码和逻辑。但是,Azure函数也会有费用。如果你不使用Azure,只需使用ASP.NET Core工作器服务即可。 - Ivan Glasenberg
如果您编辑您的答案以整合该信息,那么它可能足够完整,可以接受为答案。 - Fred
好的,我接受了这个答案。虽然它的英语写得很糟糕,但是这是我在20天内唯一得到的答案,所以我觉得我必须接受它。 - Fred

2
我认为Fred想要的答案是,为什么有人会选择使用Azure函数而不是Asp.net Core托管服务?答案不仅仅因为您拥有Azure帐户使一切都变得容易和集成。这取决于流量、成本、专业知识等因素。 实际上,微软制定了指南,说明何时应该使用Azure函数,例如在AKS中运行的Linux容器上的IHosted服务之上。我会发布链接,但基本上是根据您的工作负载是否关键来决定。如果您想获得最佳性能、最低成本、可靠性,则在Linux容器中运行的托管dotnet core服务将是一个极好的替代方案。
以下是微软的关键任务指南,希望对您有所帮助! 设计建议 Azure Functions:
考虑Azure Functions适用于简单的业务流程场景,这些场景不具有像业务关键系统流程那样严格的业务要求。
低关键场景也可以作为单独的容器托管在AKS中以实现一致性,前提是在节点上集中放置容器时充分考虑亲和性和反亲和性要求。
摘自此处:

https://learn.microsoft.com/en-us/azure/architecture/framework/mission-critical/mission-critical-application-platform


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接