はじめに 今回は、2年程システムのマイクロサービス化を進めてきて順調にサービスの数も増えて複数マイクロサービス間のトランザクションに対して本腰を入れて考えなければいけなくなってきたので複数回にわたって投稿していきたいと思い投稿した初回になります。 構想としては以下のように全3部以上の構成で考えています 事前知識編 実践編(要件・基本設計) 実践編(実装・運用経過) 実践編(3で実装したこと以外のパターンを採用した場合は都度) トランザクションの種類 トランザクションの種類としては以下の2つがあります。 ローカルトランザクション 単一トランザクションで単一リソースに対しての処理のみを行う グローバルトランザクション 単一トランザクションで複数リソースに対して処理を行う トランザクションをネストさせる → DBがクラッシュしたらデータの更新状態は不明となる XAトランザクション → Prepa