Upgrade to Pro — share decks privately, control downloads, hide ads and more …

気がついたらSagaパターンになっていた!? 少人数で運用するサーバレスバックエンド

気がついたらSagaパターンになっていた!? 少人数で運用するサーバレスバックエンド

#RejectDay2023

Kazuki Miura

June 24, 2023
Tweet

More Decks by Kazuki Miura

Other Decks in Technology

Transcript

  1. OIDC OIDC OIDC ざっくりアーキテクチャ #RejectDay2023 S3 MediaConvert S3 DynamoDB DynamoDB

    DynamoDB AppSync Lambda API-GW Step Functions API-GW Amplify Amplify 担当者向け CMS 倉庫 システム BFF Frontend Backend
  2. 基本情報 #RejectDay2023 AWS Step Functions は、 デベロッパーが AWS のサービスを利用して分散型アプリケー ションを構築し、プロセスを自動化し、マイクロサービスのオ

    ーケストレーション、データと機械学習のパイプラインを構築 できるようにするビジュアルワークフローサービスです。 AWS Step Functions ] 半角スペース ] 半角スペース
  3. #RejectDay2023 カート画面 情報入力 確認画面 購入完了 在庫チェック 在庫 Table カート Table

    temp Table カート Table 決済処理 在庫 Table 注文 Table 配送 Table ECの注文まで 送料計算
  4. #RejectDay2023 カート画面 情報入力 確認画面 購入完了 在庫チェック 送料計算 在庫 Table カート

    Table temp Table カート Table 決済処理 在庫 Table 注文 Table 配送 Table 2s 5s ECの注文まで
  5. 2s 5s #RejectDay2023 カート画面 情報入力 確認画面 購入完了 在庫チェック 在庫 Table

    カート Table temp Table カート Table 決済処理 在庫 Table 注文 Table 配送 Table ECの注文まで 送料計算
  6. Step Functions は途中からの再実行ができない 結果を待たず、 別のStep Functions を起動だけすると その状態を保存した形で処理を渡せる #RejectDay2023 在庫確保できた

    決済失敗 決済成功 { "StateMachineArn": "arn:",  "Input": {   "tempOrderId.$": "$.tempOrderId",   "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id"  } } すぐ通したい