Skipper: Airbnbの組み込みワークフローエンジン... ノート

Skipper: Airbnbの組み込みワークフローエンジン構築

Airbnbは、保険請求のような複雑なワークフローの永続的な実行という課題に直面していました。外部オーケストレーションエンジンなどの既存のソリューションには、運用上の複雑さやベンダーロックインなどの欠点がありました。これらの問題を解決するために、Airbnbは各サービス内で実行される組み込みワークフローエンジンであるSkipperを開発しました。Skipperは、簡潔さ、単一障害点の排除、既存のデータベースの使用を優先しています。Skipperの設計の中核には、個々の操作をカプセル化するロジックとアクションを定義するワークフローが含まれています。永続性は、アクションの結果をデータベースにチェックポイントするリプレイメカニズムによって実現されます。リプレイにより、ワークフローは中断後、中断した場所から再開できます。状態フィールドは、効率のために永続化され、シグナルを使用してワークフローの状態を更新します。Skipperを使用したワークフローのテストは、キューを設定したり、インフラストラクチャをモックしたりする必要がないため、簡素化されています。このアプローチにより、依存関係を追加したり、パフォーマンスを損なうことなく、永続的な実行が保証されます。
CdXz5zHNQW_p4tursIQ0n.png