Skip to Content
アーキテクトの教科書 価値を生むソフトウェアのアーキテクチャ構築
book

アーキテクトの教科書 価値を生むソフトウェアのアーキテクチャ構築

by 米久保 剛
July 2024
Beginner to intermediate
272 pages
5h 40m
Japanese
Shōeisha
Content preview from アーキテクトの教科書 価値を生むソフトウェアのアーキテクチャ構築
113
3
Sagaパターン
マイクロサービスアーキテクチャにおいて複数のサービスをまたがる
分散トランザクションの一部が失敗してしまった場合に、結果整合性を
実現する方法として代表的なアーキテクチャパターンがSagaパターン
※5
です(サーガパターンと読みます)。
具体例を用いて説明しましょう。図3.3.6 はあるシステムの注文ユー
スケースを実現するマイクロサービスの例です。注文処理サービスは
ファサード的に処理を束ねるもので、注文サービスの注文登録処理
(①)を呼び出した後、続いて在庫サービスの在庫引当処理(②)、最後
に決済サービスの決済処理(③)を呼び出します。ここで、クレジット
カードが無効化されていたなどの理由で決済エラーが発生(④)したら
どうなるでしょうか。①と②は既にトランザクションが完了してデータ
ベースが更新済みのため、決済が失敗したのにもかかわらず注文が登録
され、在庫の数量も減った不整合状態が発生してしまいます。この不整
合状態を解消するためには、③の決済処理の成否に応じて後処理が必要
となります(もちろん①や②が失敗したケースも考慮が必要となります
が、ここでは③の処理に絞って考えます)。
図3.3.6 
分割トランザクションの失敗
注文処理
サービス
注文
サービス
①注文登録
②在庫引当
③決済
④決済エラー
DB
在庫
サービス
DB
決済
サービス
DB
114
最初の方法は、各サービスに対する一回目の処理呼び出しは準備
フェーズとして保留扱いとすることです。処理の流れを図3.3.7 に示し
ます。
①と②の処理では、データベースに登録または更新されるデータは仮 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

データ保護完全ガイド ―あらゆるデータの保全と回復を可能にする

データ保護完全ガイド ―あらゆるデータの保全と回復を可能にする

W. Curtis Preston, 佐野 泰之, 池田 祥孝
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

David Scott Bernstein, 吉羽 龍太郎, 永瀬 美穂, 原田 騎郎, 有野 雅士

Publisher Resources

ISBN: 9784798185422