Sagaパターン
Saga Pattern
さーがぱたーん
マイクロサービス間にまたがるトランザクションを、一連のローカルトランザクションとそれぞれの補償トランザクションで管理するパターン。コレオグラフィ方式(イベント駆動)とオーケストレーション方式がある。分散トランザクションの代替手法。
システムアーキテクチャ > 分散システムと統合技術
関連キーワードの用語
SAオンライントランザクション処理
端末からの要求に対してリアルタイムにトランザクション処理を行う方式。OLTP。データベースの一貫性を保ちながら、多数の短いトランザクションを高速に処理する。ACID特性の保証が重要。
SAACID特性
トランザクション処理が満たすべき4つの特性。原子性(Atomicity:全て実行か全て取消)、一貫性(Consistency:整合性の維持)、独立性(Isolation:他の処理との非干渉)、永続性(Durability:確定結果の永続保存)。
SA排他制御
複数のプロセスやトランザクションが共有資源に同時にアクセスする際、データの不整合を防ぐための制御機構。楽観的ロックと悲観的ロックの2種類があり、デッドロックの回避も考慮する必要がある。
SAAPIゲートウェイ
マイクロサービスアーキテクチャにおいて、クライアントからのリクエストを適切なバックエンドサービスにルーティングする入口。認証、レート制限、ロギング、プロトコル変換などの横断的関心事を一元的に処理する。
SAサーキットブレーカパターン
マイクロサービス間の呼び出しで障害が連鎖(カスケード障害)するのを防ぐパターン。一定回数の障害を検知すると回路を「開」にして呼び出しを遮断し、一定時間後に「半開」状態で回復を試みる。
SAgRPC
Googleが開発した高性能なRPCフレームワーク。Protocol BuffersによるデータのシリアライズとHTTP/2による多重化通信を特徴とする。マイクロサービス間の通信に適し、双方向ストリーミングもサポートする。