マイクロサービスにおける整合性担保の時間を削減する方法

マイクロサービスアーキテクチャにおけるトランザクション処理にTCC パターンとSaga パターンがある. 2つはそれぞれ問題点がある. TCC パターンは, 正常時に正しいデータを取得できるまでの速度が遅い. saga パターンは, ロールバック発生時に正しいデータを取得できる速度が遅い. 本稿では, 基本は速度の早いSaga パターンを使用する. 本稿で提案するakira は, ロールバック発生時に一定時間正しいデータを取れなくなった場合, そのサービスをTCC パターンにすることでどちらか一方のトランザクションを使用するよりも早く整合性の担保を行える. 評価として, ネットワーク以外のロールバック発生時に正しいデータを取得できるまでの時間を計測する. ...