首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Azure Webjob vs Azure函数:如何选择

Azure Webjob vs Azure函数:如何选择
EN

Stack Overflow用户
提问于 2016-04-14 06:53:02
回答 7查看 62.2K关注 0票数 197

我已经创建了一些使用触发器的Azure Webjobs,并且我刚刚了解了Azure Functions

据我所知,Azure函数似乎与Azure Webjob功能重叠,我很难理解何时在Function和Webjob之间进行选择:

  • 与and作业不同,函数只能被触发,它不是为运行连续过程而设计的(但您可以编写代码来创建连续的函数)。
  • 您可以使用许多语言(C#、node.js、Python...)编写and作业和函数。但你可以从Azure门户编写你的函数,以便更容易、更快地在app Service web应用程序、Function.
  • Webjobs应用程序或移动应用程序的上下文中开发、测试和部署作为后台进程的API运行,而函数使用经典/动态应用程序服务计划运行。
  • 关于缩放,功能似乎提供了更多的可能性,因为你可以使用动态应用程序服务计划,你可以缩放单个功能,而对于web作业,你必须缩放整个web应用程序。

所以肯定会有价格差异,如果你有一个正在运行的web应用程序,你可以使用它来运行一个web作业,而不需要任何额外的成本,但是如果我没有一个现有的web应用程序,并且我必须编写代码来触发一个队列,我应该使用一个web作业还是一个函数?

当您需要选择时,是否还有其他需要考虑的因素?

EN

回答 7

Stack Overflow用户

发布于 2016-09-15 16:19:26

作为基于Azure开发工具包的WebJobs函数,它们提供了WebJobs中已有的大部分功能,但也提供了一些新的很酷的功能。

触发器而言,除了那些已经可用于WebJobs的触发器(例如,服务总线、存储队列、存储Blobs、CRON时间表、WebHooks、EventHub和文件云存储提供商)之外,Azure函数还可以作为API触发。HTTP调用不需要kudu凭据,但可以通过Azure AD和第三方身份提供商进行身份验证。

关于输出,唯一的区别是函数在通过HTTP调用时可以返回响应。

它们都支持各种各样的语言,包括: bash (.sh)、batch (.bat / .cmd)、C#、F#、Node.Js、PHP、PowerShell和Python。

作为目前预览中的函数,工具仍然不是很理想。但微软正在努力解决这一问题。希望我们在本地开发和测试函数的灵活性与我们目前使用Visual Studio对WebJobs所做的一样。

函数带来的最显著和最酷的优点是,可以选择使用动态服务计划“无服务器”模型,在这种模式下,我们不需要管理VM实例或扩展;所有这些都是为我们管理的。此外,由于没有专用实例,我们只为实际使用的资源付费。

这里是两者之间更详细的比较:https://blog.kloud.com.au/2016/09/14/azure-functions-or-webjobs/

HTH :)

票数 17
EN

Stack Overflow用户

发布于 2018-01-17 15:36:19

我想在上面的长篇和有点旧的帖子中再增加两点。如果您在azure functions中选择了消费计划,以下是限制

如果您想要运行超过10分钟的任何作业,请选择webjobs。Azure函数,默认情况下只运行5分钟,如果您的进程超过5分钟,则azure函数抛出超时异常。您可以在host.json中将超时时间增加到10分钟。

注意:如果您使用的是应用服务计划azure功能,则不会出现超时问题。

区别的另一个原因是。如果你使用azure函数,那么你的初始启动时间将会很慢,因为机器(容器)是动态创建的,一旦使用就会销毁。

为了避免冷启动,azure function app发布了付费套餐,其中一个实例将一直运行,根据负载,函数app将开始伸缩,并将根据消耗对一个实例和其他实例进行计费。

票数 17
EN

Stack Overflow用户

发布于 2016-12-15 06:33:18

根据Azure Functions的说法,WebJobs没有的功能如下:

  • 自动扩展(根据runtime)
  • Pay-per-use定价确定的需求扩展CPU和内存)
  • 更多触发事件(如WebHooks)
  • In-browser开发(仍有可能)
  • F# support

简单地说: Azure函数是较新的动物。如果你还没有App Service计划,我会选择Functions,因为从长远来看,我看不出为什么从WebJobs开始会更好(虽然Functions工具可能还不够稳定)。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36610952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档