AWS Flow Framework 基本概念: スケーラブルなアプリケーション - AWS Flow Framework for Java

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Flow Framework 基本概念: スケーラブルなアプリケーション

Amazon SWF には、現在の負荷を処理できるように、ワークフローアプリケーションを簡単にスケーリングする 2 つの主な機能があります。

  • 完全なワークフロー実行履歴。ステートレスなアプリケーションを実装できます。

  • タスク実行に疎結合されているタスクスケジューリング。現在の需要を満たすように、アプリケーションを簡単にスケーリングできます。

Amazon SWF では、動的に割り当てられたタスクリストに投稿して、タスクをスケジュールします。ワークフローワーカーやアクティビティワーカーと直接通信することはありません。または、これらのワーカーは、HTTP リクエストを使用して、そのタスクのリストをポーリングします。このアプローチでは、タスクのスケジューリングはタスク実行に疎結合されるため、ワーカーは、Amazon EC2 インスタンス、企業のデータセンター、クライアントコンピュータなどの適切なシステムで実行されます。HTTP リクエストはこれらのワーカーから開始されるため、外部から認識可能なポートは必要ありません。そのため、ワーカーはファイアウォールの内側でも実行できます。

タスクはロングポーリングの仕組みを使用してポーリングできるため、ワーカーが過負荷になることはありません。スケジュールされたタスクにスパイクがあっても、ワーカーはそれぞれのペースでタスクを引き出します。ただし、ワーカーはステートレスであるため、追加のワーカーインスタンスを起動することで、高い負荷を処理できるようにアプリケーションを動的にスケールできます。異なるシステムで実行されている場合でも、各インスタンスは同じタスクリストをポーリングし、最初に使用可能なワーカーインスタンスは、各タスクを実行します。ワーカーの場所や開始時間は関係ありません。負荷が低下した場合は、それに応じてワーカーの数も減らすことができます。