回答
的一些基本信息:
WebJobs有利於不需要他們在運行環境中的任何定製,並且不消耗非常多的資源,輕巧的工作項目。它們對於只需要定期運行,計劃或觸發的任務也非常有用。它們便宜且易於安裝/運行。他們在您的網站上下文中運行,這意味着您獲得與您的網站運行相同的環境,並且他們使用的任何資源都是您的網站無法使用的資源。
工作角色適用於更多資源密集型工作負載,或者需要修改運行環境(即特定.NET框架版本或安裝到OS中的某個環境)。工人角色更昂貴,設置和運行也更難,但他們提供了更多的權力。
一般來說,我會先從WebJobs開始,然後轉移到Worker Roles,如果您發現您的工作負載需要的不止是WebJobs可以提供的。
如果我們要測量「功率」作爲計算能力,那麼在虛擬環境中,這意味着物理機器(金屬)上有多少層。虛擬機上的用戶代碼運行在管理物理機器的管理程序之上。這是最厚的一層。只要有可能,管理程序就會試圖簡單地作爲金屬的傳遞。
WebJobs基本上沒有什麼開銷。這是沙盒,操作系統維護,並有服務&模塊,以確保它運行。但是應用程序代碼與Worker角色中的代碼基本上非常接近,因爲它們使用相同的管理程序。
如果你想要測量的是「靈活性」,那麼使用工作者角色,因爲它不被管理或沙箱化,所以更靈活。你可以使用更多的插座,定義你自己的環境,安裝更多的軟件包等。
如果你想要的是「功能」,那麼WebJobs有一個完整的功能陣列。包括虛擬網絡到本地資源,分段環境,遠程調試,觸發,調度,易於連接到存儲和服務總線等...
大多數人希望專注於解決他們的問題,而不是投資時間在基礎設施。爲此,您使用WebJobs。如果您發現需要更大的靈活性,或者安全沙箱阻止您執行任何其他方式無法完成的操作,請轉至工作人員角色。
甚至有可能構建混合解決方案,其中一些部分在WebJobs中完成,其他部分在Worker Roles中完成,但這不在此問題的範圍內。 (提示:WebJobs SDK)
「大多數人都希望專注於解決他們的問題,而不是在基礎設施上投入時間,爲此,您需要使用WebJobs。」 - 的確如此,但工作人員角色涉及的成本高於網絡工作。這意味着,人們選擇他們需要什麼和他們的預算是什麼,這是公平的! – Nirman 2018-01-04 09:18:46
出頭記住選擇使用Web工作或輔助角色時:
輔助角色的自我託管在一個專用的虛擬機,網絡招聘在託管Web應用程序容器。
工作者角色將獨立伸縮,Web作業將與Web應用程序容器一起伸縮。
網上工作是完美的輪詢RSS源,檢查和處理消息和發送通知,他們是重量輕,比工作者角色便宜,但不太厲害。
- 1. Shared DataContract工作者角色/ Web角色
- 2. 工作者角色與異步控制器的Web角色
- 3. Azure Web角色或工作者角色或邏輯應用程序或Web作業
- 4. 如何在web角色(IIS)中完成後臺工作(如工作者角色)?
- 5. Web角色vs工作者角色在雲服務/ Node.js
- 6. 工作者角色和Web角色之間的Azure通信
- 7. AzureDirectory與Lucene.Net和Azure工作者角色
- 8. 工作者角色與Azure批處理
- 9. Azure Web作業VS Azure批處理VS工作角色
- 10. 在Windows Azure中:什麼是Web角色,工作者角色和VM角色?
- 11. Angular2 web工作者與ES5
- 12. 工作角色與TCPListener停止工作
- 13. 在單個實例中部署Web角色和工作者角色
- 14. 在Azure上部署WCF服務:Web角色還是工作者角色?
- 15. Azure工作者角色拋出System.IO.FileNotFoundException
- 16. 遠程調試Azure工作者角色
- 17. 如何停止Azure工作者角色
- 18. Windows Azure工作者角色和SVG
- 19. Azure文檔Db工作者角色
- 20. Microsoft Azure主從工作者角色
- 21. Windows Azure工作者角色進程
- 22. 網絡+工作者角色成本
- 23. 雲服務工作者角色ServicePointManager.DefaultConnectionLimit
- 24. 在azure工作者角色中的Windows.winmd
- 25. 無法剖析Azure工作者角色
- 26. 喚醒Windows Azure工作者角色
- 27. 關於Azure工作者角色的MongoDB
- 28. 如何在Azure中只部署工作者/ Web角色
- 29. 如何在Web應用程序中使用工作者角色?
- 30. PHP上的Azure Cloud Service Web角色+工作者示例
很高興知道......即使我處理雲服務(網絡角色),我可以先從webjob開始進行後臺處理(輕量級),然後根據需要切換到workerrole。 WorkerRole並不總是默認的選擇。由於工作角色與雲服務模板一起出現,並且Web作業與模板角度不同,因此這可能不太明顯。謝謝! – Lalman 2015-03-16 13:44:18