Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GCPを使った transaction log tailing と polling publi...

atsu.kg
March 17, 2023

GCPを使った transaction log tailing と polling publisher の性能比較

atsu.kg

March 17, 2023
Tweet

More Decks by atsu.kg

Other Decks in Technology

Transcript

  1. 非同期処理基盤(PoC) ① Service1がイベントをFirestoreに保存 ② Message Relay がイベントを取得 ③ Message Relay

    がイベントをPub/Subへ投げる ④ Service2がイベントを受け取って処理する
  2. 性能比較:順序保証の有無 ▪polling publisher(◯) workerがイベントを作成日時順に取得し Pub/Subへ投げる、を繰 り返すことで作成された順番で配信(順序保証)が可能 ▪transaction log tailing(×) おおよそイベントは登録された順番に処理フローに乗る

    Eventarc に順序保証の仕組みが無い(※) イベントの順序配信がない前提で受信側の処理を設計する ※厳密に言うと、トランスポート層の Pub/Sub に任意の順序指定キーを渡すことができないために順序保証ができない
  3. 比較結果 polling publisher transaction log tailing 順序保証の有無 ◯ × スケーラビリティ

    △ ◯ メンテナビリティ △ ◯ スケーラビリティ・メンテナビリティは transaction log tailing が優位、polling publisher は懸念あり 現行の非同期処理基盤では順序保証をしていないため、順序保証は必須でない 順序保証が無くても、受信したイベントと処理したイベントのタイムスタンプを比較する事で、受信側で生成順序を判 定してハンドリングするなど、ある程度設計でカバー可能 → 現時点では transaction log tailing の方向で検討中