マイクロサービスアーキテクチャでは、1つのシステムを複数のサービスに分割し、それぞれが独立したデータベースを持つため、従来のトランザクション管理(ACID特性) が難しくなります。 その解決策として、Sagaパターン が注目されています。 本記事では、Sagaパターンの基本概念、オブジェクト指向設計との関係、Javaを用いた実装例を紹介します。 1. 分散トランザクションの課題 1-1. 従来のトランザクションとマイクロサービスの課題 従来のモノリシックなアプリケーションでは、データベース管理システム(RDBMS)が ACID(Atomicity, Consistency, Isolation…