メッセージキューとデータベースの書き込みを同一のトランザクション内で実行する
データベースへの書き込みと同時にメッセージキューへの送信を行う必要がある場面は数多く存在します。例えば、ECサイトで注文処理を行う際に、注文データをデータベースに保存すると同時に、在庫管理システムや配送システムに通知を送る必要があります。
しかし、この一見単純な処理には重大な問題が潜んでいます。データベースの書き込みとメッセージキューへの送信が別々のシステムである以上、一方が成功して他方が失敗する可能性があります。この問題を解決するのが、本章で解説するTransactional Outboxパターンです。
データベースとメッセージキュー間の一貫性の問題
分散システムにおいて、複数の独立したシステム間でデータの一貫性を保つことは困難です。特に、データベースとメッセージキューという異なる性質を持つシステム間では、以下のような問題が発生します。
この続きは、購入者向けの内容です。
非表示コンテンツ 📝 2,751文字 🖼 2枚の画像
続きは購入後に閲覧できます。
この教材を購入 ↗