Skip to content

Latest commit

 

History

History
39 lines (24 loc) · 2.21 KB

File metadata and controls

39 lines (24 loc) · 2.21 KB

マルチリージョン対応 マイクロサービス サンプルアプリケーションの解説

サンプルアプリケーションの特徴

本サンプルアプリケーションは、マルチリージョン環境で稼働するマイクロサービスとして実装されたアプリケーションです。 以下の勘定系機能を提供します。

  • 残高参照
  • 口座預入れ
  • 口座引落し

アプリケーションは下記の 4 つのマイクロサービス(ECS コンテナ)から構成され、Saga パターンによる補償トランザクションの仕組みを実装することで、分散環境でのトランザクションの整合性を保持するように実装されています。

サービス名 機能
transaction トランザクション全体を制御するマイクロサービス
balance 口座データに対して引落し/預入れ処理を行うマイクロサービス
count 口座からの引落し処理の回数を管理するマイクロサービス
worker 仕掛かり中でペンディング状態となっているトランザクションを処理する常駐サービス

基本的には同一のアプリケーションが東京リージョンと大阪リージョンにデプロイされますが、競合状態になることを割けるため、トランザクションワーカーは東京リージョンのみで稼働します。

[アプリケーションのアーキテクチャー]

[預入れ処理のシーケンス図]

[引落し処理のシーケンス図]

サンプルアプリケーションのデプロイ

デプロイ手順については以下の文書を参照して下さい。

マルチリージョン対応 マイクロサービス サンプルアプリケーションのデプロイ手順