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

ポイント付与の非同期化 / Event Driven Point Assignment

omo
September 12, 2022

ポイント付与の非同期化 / Event Driven Point Assignment

omo

September 12, 2022
Tweet

More Decks by omo

Other Decks in Technology

Transcript

  1. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL ©2022 Kyash Inc. PROPRIETARY

    & CONFIDENTIAL ポイント付与の非同期化 メッセージング基盤を用いたマイクロサービス連携 2022/09/12 Omotani Kouhei
  2. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 2 本日の 流れ 1.

    自己紹介 2. 背景 3. 構成変更の方針 4. 展望 5. 最後に Today's Flow
  3. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 自己紹介 - Omotani Kouhei

    - Twitter: @k_omotani - KyashID: @komotani - 2020年2月入社 - 携わった機能 - カテゴリー機能、共有口座機能、他 (「面白かったら投げ銭お願いします」をやりたかったのでチャレンジ) 3
  4. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 4 本日の 流れ 1.

    自己紹介 2. 背景 3. 構成変更の方針 4. 展望 5. 最後に Today's Flow
  5. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 背景 Kyashポイントについて 決済、Kyashリワード、友達紹介特典など 特定の条件を満たすと付与される。

    決済の場合、決済時(オーソリが来たタイミング)に 金額に応じて獲得予定ポイントが付与される。 売り上げ確定時(SalesDraftが来たタイミング)に ポイントが確定する。 6
  6. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 背景 課題 - ポイント付与処理を複数サービスに書かないといけない

    - DB分割したい(できるような道筋が欲しい) - ポイント付与で転けた場合決済がコケる ←金融系事業者として一番大事 10
  7. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 11 本日の 流れ 1.

    自己紹介 2. 背景 3. 構成変更の方針 4. 展望 5. 最後に Today's Flow
  8. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 課題 - ポイント付与処理を複数サービスに書かないといけない -

    DB分割したい(できるような道筋が欲しい) - ポイント付与で転けた場合決済がコケる →複数サービスからの同期的な共有DBへの書き込みをやめる 構成変更の方針 12
  9. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 当初fanoutのためにEvent Bridgeを考えていた。 - Eventbridge経由だとMessage

    Attributeを送ることが今の所できない(要望は出してる) - 柔軟にペイロードを操作したい/ルーティングをきめ細やかに実施したいならEventBridge - 高速に処理したいならSNS 失敗したメッセージの再送はDLQからの積み直しで可能。 構成変更の方針 16
  10. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL ちなみに... Kyashが昔開発していたtoBサービスのKyash Directでも SNS/SQSを用いたEvent

    Drivenのシステムを構築していた。 (さらにevent sourcingとかもやっていて中々尖っていましたが) ↓面白い資料なのでぜひに ウォレットアプリKyashの先 〜 Kyash Directのアーキテクチャ 構成変更の方針 17
  11. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 18 本日の 流れ 1.

    自己紹介 2. 背景 3. 構成変更の方針 4. 展望 5. 最後に Today's Flow
  12. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 展望 - 現状ポイント付与の全ての処理がこの仕組みに移行しているわけではない -

    順次移行予定 - DB分割はできていない - consumerが共有DBのテーブルをみてる状態 - 完全にポイント付与処理の移行ができればDBを切り出すことは可能になる - 非同期でも問題ない処理に関してはこの基盤に乗ることで後続の処理を気にせずに実装できる - ポイント付与に限らない - 例えばアカウント作成時に期限付き残高を付与しているがこれも移行できそう - 直近としては通知周りを移行予定 - これによりコレオグラフィーなマイクロサービスが実現できる 19
  13. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 20 本日の 流れ 1.

    自己紹介 2. 背景 3. 構成変更の方針 4. 展望 5. 最後に Today's Flow
  14. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL 21 Kyashではメンバーを絶賛募集中です!!! 少しでも興味があるという方は カジュアル面談もやっているので

    ガンガン応募してください!! よろしくお願いします!! →Kyashエンジニアの採用面接ガイド
  15. ©2022 Kyash Inc. PROPRIETARY & CONFIDENTIAL ©2022 Kyash Inc. PROPRIETARY

    & CONFIDENTIAL Thank you 2022.09.12 Omotani Kouhei 22