タグ

microservicesとtransactionに関するkiririmodeのブックマーク (3)

  • 【書き起こし】Payment distributed transaction case study – Rui Gao【Merpay Tech Fest 2021】 | メルカリエンジニアリング

    【書き起こし】Payment distributed transaction case study – Rui Gao【Merpay Tech Fest 2021】 Merpay Tech Fest 2021は、事業との関わりから技術への興味を深め、プロダクトやサービスを支えるエンジニアリングを知れるお祭りで、2021年7月26日(月)からの5日間、開催しました。セッションでは、事業を支える組織・技術・課題などへの試行錯誤やアプローチを紹介していきました。 この記事は、「Payment distributed(分散)transaction case study」の書き起こしです。 Rui Gao氏:皆さん、こんにちは。日は「Payment distributed(分散)transaction case study」というテーマで発表させていただきます。 まず、簡単に自己紹介させてください

    【書き起こし】Payment distributed transaction case study – Rui Gao【Merpay Tech Fest 2021】 | メルカリエンジニアリング
    kiririmode
    kiririmode 2021/10/05
    TCC/Sagaでの整合性担保。BLのError Handlingと異常に関するFailure Handlingを区別していて、後者は3段階の自動復旧が行える。秒単位ではリトライ、分単位ではリクエストキューへ戻す、最後がリカバリバッチ
  • マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。その中でPaymentServiceは決済トランザクション管理の基盤サービスとして、下位層のサービス(外部サービスも含め)が提供する各種決済手段を利用して、上位層のサービス(メルカリ、NFC,コード払いなど)に必要な決済フローを共通APIとして提供しています。PaymentServiceが提供する決済処理に複数のサービスを跨いでお金の動きを正確に管理する必要があるので、作り始めた頃から決済トランザクション管理を最も重要な課題として、サービスを跨いでもデータの整合性が取れる仕組みを作ってき

    マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
    kiririmode
    kiririmode 2021/10/05
    分散トランザクションの整合性担保方法。TCC/Sagaパターンの双方を使うとともに、トランザクションはState Machineで管理。reconcileも仕組みとして準備し、不整合を検知できるようにしている
  • TCCパターンとSagaパターンでマイクロサービスのトランザクションをまとめてみた - Qiita

    はじめに UL Systems Advent Calendar 2018の10日目です。 マイクロサービスアーキテクチャでシステムを構築した際、更新対象が複数のサービスをまたがる場合は、トランザクションの扱いが途端に難しくなります。なかでも、障害発生時に各サービス間の処理をロールバックするためには補償(補正)トランザクションが必要になり、複雑なトランザクション制御が求められます。補償トランザクションとは、処理の途中で失敗した場合に、それを取り消すことで実行結果を打ち消す処理のことです。補償トランザクションの実装は、打ち消す処理を提供するサービスと、それを呼び出すサービスの双方に負担があり、設計や実装が複雑になりがちです。 トランザクションには、1つのトランザクション内で1つのリソース(DBなど)処理のみ行うローカルトランザクションと、1つのトランザクション内で複数のリソース処理を行うグロー

    TCCパターンとSagaパターンでマイクロサービスのトランザクションをまとめてみた - Qiita
    kiririmode
    kiririmode 2021/10/05
    結果整合性を確保するパターンとしてTCC/Sagaがある。TCCでは仮状態を経由し、Sagaでは補償トランザクションを実行する
  • 1