Google發布無伺服器非同步任務執行服務Cloud Tasks,允許使用者把在任意地方執行的應用程式,透過標準API將任務增加到佇列當中。

非同步任務執行服務Cloud Tasks提供分散式任務佇列(Task Queue),是一個完全託管的服務,讓使用者可以管理、分派以及交付大量的分散式任務。非同步執行的特性帶來的其中一個好處,便是能減少請求延遲,並且使應用程式更具回應性。Cloud Tasks能讓使用者組織並控制請求,進行排程、刪除重複資料、配置重試政策還有版本重新導向。

Cloud Tasks可以利用App Engine標準且靈活的環境,實現無伺服器的任務執行,還可以幫助使用者卸載長時間或是背景執行的工作,透過讓服務相互獨立,使應用程式更加容錯。Google提到,之所以Cloud Tasks可以提供服務良好的容錯能力,是因為Cloud Tasks能在服務運作過程保留請求,進行暫停、重試或是重新導向到新的應用程式版本,這樣使用者便有空間處理臭蟲,或是在應用程式部署階段,繼續處理所有請求。

另外,Cloud Tasks也能讓應用程式擁有更好的結構以及擴展能力,在為特定服務實作任務處理程序的時候,將能允許微服務獨立擴展,而且透過限制佇列,Cloud Tasks就能良好的控制服務負載,幫助使用者執行、調度以及交付分散式任務。

Google前些時日釋出了新一代Runtime,允許使用者在不受框架和函示庫的限制,建構執行熱門程式語言的應用程式。為了讓這些Runtime更具可擴展性和開放,Google結合Cloud Tasks與App Engine協同工作,支援數千個現有應用程式。

Cloud Tasks以推送佇列形式運作,任務根據路由配置分配給工作服務,這些工作服務會嘗試處理這些任務,當處理失敗則會將HTTP錯誤碼回傳給Cloud Tasks,在暫停一段時間後,重新執行該任務,直到最大的嘗試次數,而當執行成功時,工作服務便會回傳2xx成功執行代碼給Cloud Tasks。

過去App Engine用戶使用支援非同步任務執行的任務佇列(Task Queue)工作,而在Cloud Tasks發布後,Task Queue的所有管理功能都集中整合到Cloud Tasks控制臺、命令列和API中,雖然如此,現有的App Engine使用者仍然可以選擇使用App Engine SDK來管理原有的任務。

目前Cloud Tasks已開發給所有GCP用戶進行測試。

熱門新聞

Advertisement