タグ

ブックマーク / www.techscore.com (1)

  • » マイクロサービスにおけるトランザクション【Saga】 TECHSCORE BLOG

    これは TECHSCORE Advent Calendar 2018 の5日目の記事です。 はじめに 世の中がマイクロサービスの話題で溢れている中で、トランザクションはどうやって実現されているのか不思議だったので調べてみました。 マイクロサービスでは複数のAPIでのやり取りとなるため、これまで使っていたデータベースのようなトランザクション(BEGIN-COMMIT)が使えません。 解決策の一つにSagaパターンがあります。 Sagaパターン Sagaパターンとは、複数のサービスにまたがるビジネストランザクションをSagaとして実装します。Sagaは一連のローカルトランザクションです。 たとえば下記の図のような構成を考えます。 このとき、Service A におけるSaga Aの成功と失敗を次のように定義します。 成功 : Transaction X、Transaction Y、Transa

    t1mvverr
    t1mvverr 2020/07/14
    このノウハウって、マイクロサービスに限らず、Rxjs等のイベント駆動プログラミングにも適応出来そう。
  • 1