協同運作與狀態管理
在統籌工作流程時,若牽涉到多個微型服務,則微型服務的分散式特性,會使得這項任務充滿挑戰。開發人員可能會嘗試將協同運作用的程式碼,直接加到服務中。這種做法應該避免,因其會導致更緊密的耦合,而讓快速替換個別服務變得更加困難。
您可使用 AWS Step Functions
Step Functions 是可靠的方式,可用來統籌元件,並逐步執行應用程式的函數。Step Functions 提供圖形化的主控台,可排列應用程式的元件,並將這些元件以視覺化的方式呈現為一連串的步驟,讓您輕鬆地建置和執行分散式服務。
Step Functions 會自動啟動且追蹤每個步驟,並在發生錯誤時重試,讓您的應用程式可如預期依序執行。Step Functions 會記錄每個步驟的狀態,如果有哪個環節出了差錯,您就能迅速診斷並解決問題。您甚至不需要撰寫程式碼,即可變更和新增步驟,來讓您的應用程式進化,更快速地進行創新。
Step Functions 是 AWS 無伺服器平台的一部分,可根據運算資源 (例如 Amazon EC2、Amazon EKS 和 Amazon ECS),以及 Amazon SageMaker
如要建置工作流程,Step Functions 會使用 Amazon 狀態語言
下圖顯示微型服務架構的範例工作流程,此流程結合了連續和並行的步驟。此種工作流程也可以透過 Step Functions API 或 API Gateway 來叫用。
使用 Step Functions 叫用的微型服務工作流程範例