📗

メッセージキューとデータベースの書き込みを同一のトランザクション内で実行する

データベースへの書き込みと同時にメッセージキューへの送信を行う必要がある場面は数多く存在します。例えば、ECサイトで注文処理を行う際に、注文データをデータベースに保存すると同時に、在庫管理システムや配送システムに通知を送る必要があります。
しかし、この一見単純な処理には重大な問題が潜んでいます。データベースの書き込みとメッセージキューへの送信が別々のシステムである以上、一方が成功して他方が失敗する可能性があります。この問題を解決するのが、本章で解説するTransactional Outboxパターンです。

データベースとメッセージキュー間の一貫性の問題

分散システムにおいて、複数の独立したシステム間でデータの一貫性を保つことは困難です。特に、データベースとメッセージキューという異なる性質を持つシステム間では、以下のような問題が発生します。
すべてを見るには

返金は購入日から1日以内に申し出て下さい。詳細はこちらからご確認ください。
また、このコンテンツ以外の他の永久アクセス権は付与されない事はご注意下さい。

支払いはによって保護されています

購入コードをお持ちの場合は、こちらから購入コードを入力して購入してください。
(Stripeのクーポンコードではありません)

購入済の方はこちらからログインしてください