2

私は AWS SWF の初心者です。まだ学習とドキュメント処理の段階です。ばかげた質問を思いつくだけです。シーケンシャル ワークフローのユース ケースでは、ディサイダーによって順番に実行される一連のアクティビティを定義する代わりに、すべての実装を大きなアクティビティに入れるだけでよいでしょうか? ワークフローの各タスクは $0.000..25 で請求されるため、この方法では大規模な場合により多くの費用を節約できます。

この種のユース ケースでは、保証されたシーケンシャル ワークフロー実行で一連の小さなアクティビティを宣言する正当な理由は何ですか?

4

1 に答える 1

3

ユースケースが実際に単純な場合は、大きなアクティビティを宣言できますが(あなたが述べたように、より安価です)、一般に、一連の小さなアクティビティを使用する利点は次のとおりです。

  • 特定のステップ (これらのアクティビティの 1 つ) を別の一連のワーカーで (別のタスク リストを介して)、特殊なリソースを使用して実行できます。たとえば、2 つのワーカー ファームを実行できます。1 つは汎用目的の「通常の」ファームで、もう 1 つはコンピューティング集約型操作用の「ビッグ CPU」ファームです。同じワークフロー実行のすべての部分。
  • アクティビティの実行方法 (Flow または独自のワーカー ランタイムを使用) に応じて、失敗したアクティビティを個別に再試行できます。
  • ワークフロー全体で 1 つのバージョンだけではなく、アクティビティを個別にバージョン管理できます。
  • ワークフローが進化した場合、一連のアクティビティ (ワークフローの構成要素の 1 つ) を使用して拡張または更新する方が簡単です。
  • 将来、ワークフロー シグナルの後に行動する必要がある場合、それをサポートするためにロジックを分離するのに苦労するでしょう。
  • アトミック アクティビティは、他のワークフロー タイプで再利用できる可能性があります (または、ワークフローの最初と最後で電子メールを送信するなど、同じワークフローでも可能です)。
于 2013-05-27T03:48:09.523 に答える