在Google Cloud Next,Google 宣布了Cloud Scheduler 脫離beta 階段,正式服務用戶,這是一個全代管的cron工作服務,允許任何應用程序調用批次處理、大數據和雲端基礎架構的操作。從那時起,也添加了一項重要的新功能,允許您觸發在任何地方運行的任何服務:不論是自有機房、Google Cloud或任何第三方數據中心。
使用 Cloud Scheduler 調用任何服務
現在,您可以按計劃安全地調用HTTP目標,以訪問在 Google Kubernetes Engine (GKE),Compute Engine、Cloud Run、Cloud Functions,或地端系統上運行的服務,或使用行業標準OAuth/OpenID Connect身份驗證的其他具有外部IP上運行的服務。
借助 Cloud Scheduler 雲端排程代管服務,您可以獲得以下好處:
- 穩定的工作處理機制: Cloud Scheduler至少為工作目標發送一次要求,確保調用關鍵任務作業以便執行。
- 安全調用:使用行業標準OAuth/OpenID連接令牌(Connect token)以安全的管道調用HTTP/S調度。(新)
- 容錯執行: Cloud Scheduler允許您自動重試,並通過部署到不同的區域以容錯管道執行工作,從而消除了傳統cron服務中的單點故障風險。
- 統一管理體驗: Cloud Scheduler允許您通過UI、CLI或API調用日程表,並且仍然具有單一的管理體驗。它還支持熟悉的Unix cron格式來定義您的作業計劃。
更好的是,Cloud Scheduler以全代管無伺服器的方式完成所有這些工作,無需配置底層基礎架構,也無需手動干預,因為它會自動重試失敗的作業。您只需要為運行的操作付費–GCP負責運行Cloud Scheduler所需的所有資源調配、複製和擴展。作為一個開發人員,您只需建立排程表,Cloud Scheduler將處理其餘的工作。
Cloud Scheduler 的工作原理
要新增一個排程工作,您可以使用Cloud Scheduler UI、CLI或API來調用您喜歡的HTTP / S端點、Cloud Pub / Sub主題或App Engine應用程序。 Cloud Scheduler通過在排程時間向指定目標目標發送HTTP請求或Cloud Pub / Sub消息來運行作業,並收集目標的回應代碼。如果作業成功,則會向Cloud Scheduler返回成功代碼(HTTP / App Engine為2xx,Pub / Sub為0)。如果作業失敗,則會將錯誤發送回Cloud Scheduler,然後Cloud Scheduler會重試作業,直到達到最大嘗試次數。安排排程工作後,您可以在Cloud Scheduler UI上監控它並檢查作業的狀態。
將端對端解決方案連結在一起
Cloud Scheduler可用於建構有趣的解決方案,例如搭配Cloud Functions、Compute Engine、Cloud Pub/Sub 和 Stackdriver按計劃定時送出指定的訊息,透過Pub/Sub分派工作給指定Zone的Compute Engine執行,再將結果回報到Stackdriver中,以下是 來自Cloud Next 2019 的範例。