Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kyash法人送金サービスでのトランザクション管理について
Search
Manabu Ejima
April 18, 2022
Technology
0
900
Kyash法人送金サービスでのトランザクション管理について
Manabu Ejima
April 18, 2022
Tweet
Share
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
210
コールドスタンバイ構成でCDは可能か
hiramax
0
130
手軽に作れる電卓を作って イベントソーシングに親しもう CQRS+ESカンファレンス2026
akinoriakatsuka
0
200
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
16
5.1k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.6k
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
330
AI Agent Agentic Workflow の可観測性 / Observability of AI Agent Agentic Workflow
yuzujoe
0
120
製造業から学んだ「本質を守り現場に合わせるアジャイル実践」
kamitokusari
0
610
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
460
Qiita Bash アドカレ LT #1
okaru
0
190
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
63
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
540
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
300
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.5k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
1
890
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
32
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
The Cult of Friendly URLs
andyhume
79
6.8k
Transcript
Kyash 法人送金サービスでの トランザクション管理について Kyash TechTalk #2 - Serverside のシステム構成とアーキテクチャ 2022
年4 月18 日 Manabu Ejima 1
今日の内容 複数のマイクロサービスにまたがるトランザクション管理の設計の 話 Saga パターンとかではない シーケンス図を使って説明します 2
Kyash 法人送金サービスとは ギグワーカーの人たちがオンデマンドで売上金/ 報酬を即座にKyash 残 高に送金できるようにするサービス 3
ギグワーカーのメリット いつでも受取可能 ポイント還元 ATM などで現金化も可能 4
プラットフォーマーのメリット 安価な送金手数料 API 連携 他社との競争優位性向上 5
Kyash のメリット 手数料を収益源にできる 新規ユーザー獲得 6
導入検討お願いします https://www.kyash.co/lp/kyash-for-business-account 7
振り込み API のトランザクションの話 8
用語の整理 以降社内で使われている呼び方を使います Kyash 法人送金サービス -> Payout ギグワーカー -> ユーザー プラットフォーマー
-> パートナー 9
振り込み API の内部処理 トランザクションの記録 パートナーからの出金 ユーザーの存在確認 ユーザーへの入金 入金履歴の保存 会計用データの保存 お知らせの保存
Push 通知 10
サービスごとの役割 Payout サービス トランザクションの記録 パートナーからの出金 11
サービスごとの役割 Topup サービス ユーザーの存在確認 ユーザーへの入金 会計用データの保存 入金履歴の保存 お知らせの保存 12
サービスごとの役割 Notification サービス Push 通知 13
シーケンス図の中で使われる処理 シンプルにするため以下に絞る Payout サービス トランザクションの記録 パートナーからの出金 Topup サービス ユーザーへの入金 14
同期処理だけの場合 とりあえずたたき台 どういう問題が発生するか探る 15
16
17
18
19
同期処理だけでやろうとすると 入出金処理がアトミックにならない 入金だけ残った場合リカバリが完了する前にユーザーに使われて しまう可能性 出金だけ残った場合リカバリが完了する前にパートナーの口座が 残高不足になる可能性 振り込み失敗したにもかかわらず履歴・お知らせ・Push 通知などが 記録・送信されてしまう 入出金キャンセル時にリカバリが必要
20
非同期処理を導入する Topup 側を変更 トランザクションを2 段階にする リクエスト 確定 or キャンセル トランザクションを記録する
SQS を使って非同期で入金の確定・キャンセル処理をする 21
22
23
24
同期処理の場合の問題点 入出金処理がアトミックにならない 履歴・お知らせ・Push 通知などが記録・送信されてしまう 入出金キャンセル時にリカバリが必要 25
非同期処理を導入することによって 入出金処理がアトミックにならない アトミックに近い状態になる ただしタイミングによっては入出金キャンセルが間に合わない 場合がある 履歴・お知らせ・Push 通知などが記録・送信されてしまう 確定時しか記録・送信されないようになる 入出金キャンセル時にリカバリが必要 自動リカバリできるようになる
26
27
ご清聴ありがとうございました! 28