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
決済のトランザクション管理術 / How to Manage Payment Transaction
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Masato Ohba
September 27, 2018
Technology
7.7k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
決済のトランザクション管理術 / How to Manage Payment Transaction
Meguro.rb#19で発表した資料です。
https://megurorb.connpass.com/event/100401/
Masato Ohba
September 27, 2018
More Decks by Masato Ohba
See All by Masato Ohba
From Formal Specification to Property Based Test
ohbarye
0
3.6k
5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム / 5 Years Fintech Rails Retrospective
ohbarye
9
12k
On-the-fly Suggestions of Rewriting Method Deprecations
ohbarye
3
12k
組織のスケールを見据えたプロジェクトリードエンジニア制度の実践 / Project Lead Engineer for Scaling Engineering Organization
ohbarye
14
3.9k
Two Blades, One Journey: Engineering While Managing
ohbarye
9
13k
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
3k
プロポーザルのつくり方 〜個人技編〜 / How to come up with proposals
ohbarye
7
2.6k
Data Migration on Rails
ohbarye
8
16k
Unlocking Potential of Property Based Testing with Ractor
ohbarye
3
22k
Other Decks in Technology
See All in Technology
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
140
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
1
230
LLMと共に進化するプロセスを目指して
ymatsuwitter
13
4k
AIはどのように 組織のアジリティを変えるのか?
junki
0
370
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
380
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
140
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
550
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
830
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.2k
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
210
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
310
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
830
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
3.6M
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
220
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Typedesign – Prime Four
hannesfritz
42
3.1k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Transcript
#megurorb 決済のトランザクション管理術 決済のトランザクション管理術 @ohbarye Meguro.rb#19
#megurorb 決済のトランザクション管理術 すべてを 記録する
#megurorb 決済のトランザクション管理術 決済処理を例にした 分散トランザクション管理の一例 話すこと
#megurorb 決済のトランザクション管理術 分けることのできない 一連の情報処理の単位 トランザクションとは
#megurorb 決済のトランザクション管理術 こんなやつ この block に含まれるタスクが全て実行 されるか、あるいは全く実行されないこと を保証しなければならない
#megurorb 決済のトランザクション管理術 トランザクション単位 シーケンス図にすると 簡単? >
#megurorb 決済のトランザクション管理術 難しいのは “分散”トランザクション ネットワーク上の2つ以上の ホストが関連するトランザクション
#megurorb 決済のトランザクション管理術 トランザクション単位 クレカ決済の一例
#megurorb 決済のトランザクション管理術 *トランザクション単位がでか い *通信を挟む 最初の例との差分 *データを記録するホストが複数 *両者で整合性を保ちたい *システム境界をまたぐ *外的要因に影響を受ける
#megurorb 決済のトランザクション管理術 考えうる失敗例 ネットワーク通信は基本的に失敗する可 能性がある 決済ゲートウェイ側でエラー 事業者側でエラー 一方からは成功に見えるがもう一方からは 失敗扱いになる、なんてことも
#megurorb 決済のトランザクション管理術 障害が起きることを 前提とした設計にする すべての障害可能性を事前に潰すのは不可能
#megurorb 決済のトランザクション管理術 具体的な方針 ➔ 1. 進行状況をできる限り詳細に記録する ◆ (optional) 疑わしくてもサービス役務提供しておく ➔
2. データ不整合を検知できるようにする ◆ 偽陽性を許容する ➔ 3. 検知されたものについては一つ一つ精査する
#megurorb 決済のトランザクション管理術 1. 進行状況をできる限り詳細に記録する 購入要求受付 与信成功 確定要求成功 サービス提供
#megurorb 決済のトランザクション管理術 2. データ不整合を検知できるようにする
#megurorb 決済のトランザクション管理術 3. 検知されたものについては一つ一つ精査する 一重積んではユーザーのため 二重積んでは金のため... 続けるとパターンが見えてくる。 より精度の高いやり方や、自動化の兆 しが出てきます
#megurorb 決済のトランザクション管理術 記録さえ残しておけば、あとでどうにかできる 記録がなければ、どうしようもない なので すべてを記録する のが第一歩
#megurorb 決済のトランザクション管理術 Thank you!