2017-09-14 120 views
1

我對使用應用服務和應用服務與web作業之間的差異存在困惑。Azure應用服務VS Web工作

我有一個必須手動觸發的計算激烈任務(2-20分鐘)(用戶不時要求)。現在一切都發生在一個應用服務中。我正在考慮將這個沉重的過程提取到另一個應用程序服務中的webjob。這個新的應用程序服務將是空的(沒有api服務),但主持這個網絡工作,我會從第一個應用服務觸發。

我很困擾,第二個應用程序服務將是空的。 我可以使用第二個應用程序服務來完成工作而不使用webjobs(僅WebApi項目)嗎?或者我應該堅持webjobs?這兩種方法的優缺點是什麼?

+0

我認爲你正在尋找詞microweb服務看看它可能會幫助你@Dmitry –

+0

這個想法沒有錯,但你也可以檢查Azure函數。取決於「計算密集型」的含義,但它可能是一個不錯的選擇。儘管如果你已經有了WebJobs,那麼堅持下去可能會更容易一些。 –

+0

我閱讀了關於天青功能 - 他們不會工作,因爲他們對他們的持續時間有限制 - 不超過5分鐘 – Dmitry

回答

0

在我看來,我們不應該比較web api和web jobs。因爲這兩件事用於不同的環境。

的webjobs功能:

  • 網上工作可以被配置爲手動觸發或在 時間表運行。

  • 網上工作可以被配置爲連續運行(又名不停地運轉,所有的時間)

  • 網上工作可以設置基於其他Azure服務,事件被觸發,如一個新的傳遞消息加入到存儲隊列或服務巴斯隊列或主題
  • 網上工作可以長期運行
  • 網上工作可以短期運行
  • 網上工作可以用任何語言來實現爲一個可執行命令行或腳本

可以實現Azure Web Jobs以滿足任何後臺處理需求。

所以,如果你想使用後臺處理,並不想返回任何其他應用程序的響應。我建議你可以選擇webjobs。

Web api很容易爲客戶構建HTTP服務來獲得響應。

所以這是用來與他人互動。所以如果你想得到結果並在其他地方使用。你可以選擇web api。

的網頁API功能:

  • 屬性路由
  • CORS - 跨源資源共享
  • OWIN(開放的Web接口.NET)自託管
  • 的Web API的OData ...

總而言之,如果計算不會與其他人交互(將結果返回給客戶) ,我建議你可以選擇網絡工作。