分散トランザクションとは?
分散トランザクションは、2つのデータベースや複数のサービスなど、1つより多くの独立したリソースに触れる作業単位であり、そのすべてが commit するか、どれも commit しないかを要求します。どの参加者も途中で障害し得るため、そのオールオアノッシングな結果をシステム間で調整するのは困難です。two-phase commit や補償 saga のようなプロトコルが管理に使われます。
なぜ重要か
システムをまたぐアトミシティは、1つのデータベース内よりはるかに難しく、単純な手法では障害時にデータが中途半端に更新されたままになります。分散トランザクションを認識することで、調整戦略が必要だとわかります。
関連ガイド
What Is Two-Phase Commit?Two-phase commit is a protocol that coordinates a transaction across multiple systems by first asking all to…
What Is the Saga Pattern?The saga pattern manages a long-running business process across services as a sequence of local transactions,…
What Is an Idempotency Token?An idempotency token is a unique key a client attaches to a request so a server can detect and ignore duplica…