什麼是 Amazon 簡單工作流服務? - Amazon Simple Workflow Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

什麼是 Amazon 簡單工作流服務?

Amazon 簡單工作流程服務 (Amazon SWF) 提供建置、執行和擴展具有 parallel 或連續步驟的背景任務的方法。使用 Amazon SWF,您可以協調分散式元件間的工作,追蹤任務狀態。

在 Amazon SWF 中,任務代表由應用程式元件執行的邏輯工作單元。跨應用程式協調工作涉及管理應用程式邏輯流程中的任務間相依性、排程和並行。Amazon SWF 可讓您控制實作任務和協調任務,而不必擔心基本複雜性,例如追蹤任務進度和維護狀態。

使用 Amazon SWF 時,您可以實作工作者來執行任務。工作者可以在雲端基礎設施上執行,例如 Amazon Elastic Compute Cloud (Amazon EC2),也可以在您自己的內部部署執行。您可以建立長時間執行、可能會失敗、逾時或需要重新啟動的工作,或者建立可能以不同的輸送量和延遲完成的工作。Amazon SWF 會存放任務,並在工作者準備就緒時將任務指派給工作者、追蹤其進度並維持其狀態,包括完成的詳細資料。

為了協調任務,您需要編寫一個程式,該程式會從 Amazon SWF 取得最新任務狀態,並使用該狀態來啟動後續任務。Amazon SWF 可持續維護應用程式的執行狀態,因此您的應用程式能夠抵禦個別元件故障。使用 Amazon SWF,您可以獨立建置、部署、擴展和修改應用程式元件。

Amazon SWF 適合需要協調任務的使用案例,包括媒體處理、Web 應用程式後端、業務程序工作流程和分析管道。

使用 AWS SDK 進行開發

Amazon SWF 受到 Java、.NET、Node.js、PHP、Python 和紅寶石的 AWS 開發套件支援,提供了一種以您選擇的程式設計語言使用 Amazon SWF HTTP API 的便捷方式。

您可以使用這些程式庫公開的 API 來開發決策程式、活動工作者或工作流程起始程式。此外,您可以透過這些程式庫使用可見性操作,以便開發自己的 Amazon SWF 監控和報告工具。

若要下載開發和管理應用程式的 AWS工具 (包括 SDK),請前往開發人員中心

如需每個開發套件中 Amazon SWF 方法的詳細資訊,請參閱開發套件的特定語言參考文件。

考慮 AWS Flow Framework

這 AWS Flow Framework 是一個增強型開發套件,用於撰寫在 Amazon SWF 上以工作流程形式執行的分散式非同步程式。該框架可用於 Java 編程語言,並提供用於編寫複雜分佈式程序的類。

使用 AWS Flow Framework,您可以使用預先設定的類型,將工作流程的定義直接對應至程式中的方法。 AWS Flow Framework 支援標準物件導向概念,例如以例外狀況為基礎的錯誤處理,這可讓您更輕鬆地實作複雜的工作流程。使用編寫的程式 AWS Flow Framework 可以完全在偏好的編輯器或 IDE 中建立、執行和偵錯。如需詳細資訊,請參閱AWS Flow Framework網站,並參閱 AWS Flow Framework Java 開發人員指南

使用 HTTP 服務 API 進行建置

Amazon SWF 提供可透過 HTTP 請求存取的服務操作。您可以使用這些操作直接與 Amazon SWF 進行通訊,也可以使用這些操作,以任何可透過 HTTP 與 Amazon SWF 通訊的語言開發自己的程式庫。

您可以使用服務 API 開發決策程式、活動工作者或工作流程啟動器。您還可以通過 API 使用可見性操作來開發自己的監視和報告工具。

如需如何使用 API 的資訊,請參閱「向 Amazon SWF 提出 HTTP 請求」。