工作者angular色与Web作业
根据我的理解,这两个在云中运行的可重复的小任务。
什么原因,在什么情况下我可以select一个吗?
一些基本信息:
WebJobs适合轻量级工作项目,不需要对其运行的环境进行任何定制,也不会占用太多资源。 它们对于只需要定期运行,计划或触发的任务也非常有用。 他们便宜,易于安装/运行。 他们在您的网站上下文中运行,这意味着您获得与您的网站运行相同的环境,并且他们使用的任何资源都是您的网站无法使用的资源。
辅助angular色对于更多资源密集型工作负载或者需要修改正在运行的环境(即特定的.NET框架版本或安装到操作系统中的某个环境)是有利的。 工人angular色更昂贵,安装和运行也更难,但是他们提供了更多的权力。
一般来说,我将从WebJobs开始,然后转到Worker Roles,如果您发现您的工作负载需要的不仅仅是WebJobs可以提供的。
如果我们要测量“功率”作为计算能力,那么在虚拟环境中,这意味着在物理机器(金属)的顶部有多less层。 虚拟机上的用户代码运行在pipe理物理机器的pipe理程序之上。 这是最厚的一层。 pipe理程序尽可能只是简单地作为金属的传递。
WebJobs基本上没有什么开销。 它是沙盒,操作系统维护,并有服务和模块,以确保它运行。 但是应用程序代码与Worker Roles基本上是相似的,因为它们使用相同的pipe理程序。
如果你想测量的是“灵活性”,那么使用工作者angular色,因为它不被pipe理或沙箱化,所以更灵活。 你可以使用更多的套接字,定义你自己的环境,安装更多的包等。
如果你想要的是“function”,那么WebJobs有一个完整的function。 包括虚拟networking到本地资源,分段环境,远程debugging,触发,调度,容易连接到存储和服务总线等。
大多数人希望专注于解决他们的问题,而不是投入时间在基础设施上。 为此,您使用WebJobs。 如果您发现需要更大的灵活性,或者安全沙箱阻止您执行任何其他方式无法完成的操作,请转到工作angular色。
甚至有可能构build混合解决scheme,其中一些部分是在WebJobs中完成的,而另外一些是在Worker Roles中完成的,但这不在这个问题的范围之内。 (提示:WebJobs SDK)
在select使用Web作业或工作者angular色时要记住的一些事情:
-
工作者angular色自己托pipe在专用的虚拟机上,Web作业托pipe在Web应用程序容器中。
-
工作者angular色将独立扩展,Web作业将随Web应用程序容器一起缩放。
Web Jobs是轮询RSS Feed,检查和处理消息以及发送通知的理想之选,它们比Workerangular色更轻便,更便宜,但function更强大。
- 使用Azure WebJobs SDK进行dependency injection
- Azure SQL数据库“DTU百分比”度量标准
- Azure连接string最佳实践
- 拥有带有InfiniBand的Windows Azure A8节点支持如何从一个节点发送N个字节并在另一个节点上接收?
- Microsoft.IdentityModel dll在哪里?
- Azure Webjobs与Azure函数:如何select
- 使用SQL Server Management Studio远程连接到Azure虚拟机上托pipe的SQL Server Express实例
- Microsoft.WindowsAzure.ServiceRuntime的NuGet包在哪里?
- 推荐一个C#任务调度库