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
決済システムのトランザクション管理方法
Search
ShoheiMitani
January 29, 2019
Programming
2
650
決済システムのトランザクション管理方法
複数のサーバー間で処理を行い、データ整合性を為つためのロールバック処理について実践例を紹介します。
ShoheiMitani
January 29, 2019
Tweet
Share
More Decks by ShoheiMitani
See All by ShoheiMitani
孤独のCTOグルメという やや奇抜な企画をやった目的と効果
shoheimitani
3
1.1k
VISAカードの裏側と “手が掛かる” 決済システムの育て方
shoheimitani
39
18k
32個のPRでリリースした依存度の高いコアなモデルの安全な弄り方
shoheimitani
8
6k
本番環境のRailsでYJITをONにしてみた結果
shoheimitani
0
110
7つの入金外部サービスと連携して分かった実践的な”状態管理”設計パターン3選
shoheimitani
5
4.7k
監視を通じたサービスの逐次的進化 ~B/43の決済サービスでの取り組み~ / Kaigi on Rails 2021
shoheimitani
1
1.9k
RSpec基礎
shoheimitani
0
220
安全なリリースに向けた技術的アプローチ
shoheimitani
1
380
RailsとDBのトランザクション処理
shoheimitani
0
220
Other Decks in Programming
See All in Programming
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
1.1k
敵対的ポイフル
futabato
0
150
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
140
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
170
Documentation for users with AsciiDoc and Antora
ahus1
0
370
Apache Hive 4 on Treasure Data
ryukobayashi
1
450
Fragment Composition of GraphQL
quramy
13
1.6k
Code Reviews
bkuhlmann
4
910
PostmanでAPIの動作確認が楽になった話
h455h1
0
190
Tailwind CSSを本気でカスタマイズする方法
fsubal
15
5.6k
Implementing Design Systems in Swift
seyfoyun
2
490
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
200
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
The Cost Of JavaScript in 2023
addyosmani
21
3.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1k
Facilitating Awesome Meetings
lara
43
5.6k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
How to name files
jennybc
65
93k
Become a Pro
speakerdeck
PRO
13
4.6k
A designer walks into a library…
pauljervisheath
201
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.4k
Transcript
Re:valua t ion https://fril.jp/ L ead & Delight User F
irst Ownership Fail Smart ܾࡁγεςϜͷτϥϯβΫγϣϯཧํ๏ !&CJTVSC
3BLVNB4FSWJDF%FWFMPQNFOU(SPVQ 3BLVUFO JOD ͜͜ʹλΠτϧΛೖྗ͠·͢ɻ ࡾ୩ণฏ !TIPIFJ !4IPIFJ.JUBOJ
None
࣍ w ͡Ίʹ w ܾࡁγεςϜ֓ཁ w αʔόʔߏ w
ܾࡁॲཧͷྲྀΕ w γεςϜߏ໘Ͱͷ੍ w ϩʔϧόοΫઓུ w ϩʔϧόοΫͷํ๏ w ϩʔϧόοΫํ๏ͷબࢹ w ઃܭ࣌ͷҙ w ·ͱΊ
͡Ίʹ
͡Ίʹ w ܾࡁγεςϜͰҰఆͷΤϥʔ͕ඞͣൃੜ͢Δ w ϢʔβʔىҼɿΧʔυೝূΤϥʔɺೖྗใΤϥʔ w γεςϜىҼɿԆɺαʔόʔোɺෆ۩߹ w
దͳϩʔϧόοΫํ๏Λબ͠ɺσʔλͷ߹ੑΛอͭ͜ͱ͕ॏཁ w ࠓͦͷϩʔϧόοΫͷํ๏ʹ͍ͭͯͷ͓
ܾࡁγεςϜ֓ཁ
αʔόʔߏʢ؆қਤʣ Users Internet औҾαʔόʔ 8FC7JFX ܾࡁαʔόʔ "1*αʔόʔ ܾࡁߦձࣾ
σʔλϕʔε ϦΫΤετ લॲཧ ܾࡁϦΫΤετ ޙॲཧ ʢόοΫάϥϯυʣ 1VTI௨ ྃը໘ w %#Λڞ༗͢Δஅ͞Εͨ ϞϊϦεߏ w Ұͭͷॲཧʹɺෳͷαʔ όʔ௨৴͕ඞཁʹͳΔ
ܾࡁॲཧͷྲྀΕ w จใͷ࡞ w ঢ়ଶͷมߋ લॲཧ ܾࡁॲཧ w
ࢧ͍σʔλͷ࡞ w ϙΠϯτച্ۚΫʔ ϙϯͷফඅ ޙॲཧ w 1VTI௨ϝʔϧ ௨ औҾαʔόʔ ܾࡁαʔόʔ "1*αʔόʔ Internet ܾࡁߦձࣾ
γεςϜߏ໘Ͱͷ੍ औҾαʔόʔ ܾࡁαʔόʔ ܾࡁߦձࣾ ॲཧ͝ͱʹαʔόʔ͕͔Ε͍ͯΔͨΊɺҰͭͷ%#τϥϯβΫγϣϯͰঢ়ଶΛཧ͢Δ͜ͱෆՄ ೳɻ τϥϯβΫγϣϯ τϥϯβΫγϣϯ
τϥϯβΫγϣϯ τϥϯβΫγϣϯ
γεςϜߏ໘Ͱͷ੍ औҾαʔόʔ ܾࡁαʔόʔ ܾࡁߦձࣾ ॲཧ͝ͱʹαʔόʔ͕͔Ε͍ͯΔͨΊɺҰͭͷ%#τϥϯβΫγϣϯͰঢ়ଶΛཧ͢Δ͜ͱෆՄ ೳɻ τϥϯβΫγϣϯ τϥϯβΫγϣϯ
τϥϯβΫγϣϯ τϥϯβΫγϣϯ Τϥʔൃੜ࣌ʹ ͲͷΑ͏ʹσʔλΛ͔͢
%#τϥϯβΫγϣϯׂ͕͞ΕΔҎ্ɺ ಠࣗʹϩʔϧόοΫॲཧΛ࣮͢Δ͔͠ͳ͍
ϩʔϧόοΫઓུ
ϩʔϧόοΫͷΠϝʔδ w ՄೳͳݶΓ%#τϥϯβΫγϣϯ ʹཔΒͳ͍ w Τϥʔൃੜ࣌ʹͦͷใΛ%# อଘ͢ΔͨΊ w
ΧϓηϧԽͨ͠Ϋϥεɺൣ ғͰͷσʔλҰ؏ੑΛอͭ w ͨͩ͠ɺSPMMCBDLϝιου QVCMJDʹͯ͠֎෦͔Βݺͼग़͠Մ ೳʹ͢Δ
ςʔϒϧߏ ࠷৽ঢ়ଶͷཧ ߋ৽ཤྺͷཧ w ࠷৽ঢ়ଶΛཧͤ͞Δͷ ܦཧ্ͷཧ༝ w Τϥʔൃੜ࣌ʹTUBUVT
ΧϥϜΛߋ৽͢Δ w อ༗ϙΠϯτച্ۚͳ Ͳͷߴܥ͏গ͠ෳࡶ ʹͳΔ
ಠࣗͷϩʔϧόοΫख๏ͷ1SPT$POT 1SPT $POT ॲཧ݁ՌΤϥʔཧ༝ͷهʹڧ͍ ࣮͕͔ͳΓෳࡶʹͳΓɺ ςʔϒϧઃܭ͔࣌Βྀ͕ඞཁ ΞʔΩςΫνϟͷมߋʹॊೈʹରԠՄೳ Ұͭͷ߹ੑϛε͕େ͖ͳࣦഊʹܨ͕Δ
σʔλͷ͋Δ͖࢟ΛίʔυͰදݱͰ͖Δ ػೳՃ࣌ͷ࣮࿙Εɺ ϦϑΝΫλϦϯά࣌ͷσάϨ͕͋Γ͏Δ ॊೈʹ࣮Մೳ͕ͩɺٕज़తқ͕ߴ͍
ಠࣗͷϩʔϧόοΫख๏ʹͷ1SPT·ͱΊ w ॲཧϓϩηεΛશͯه͍ͨ͠γεςϜͱ૬ੑ͕ྑ͍ w %#ϩʔϧόοΫ͕ͳ͍ͷͰɺ్தهͨ͠σʔλ͕ফ͑ͳ͍ w ܦཧܥ$4͍߹Θͤͱ૬ੑ͕͍͍ w
ฦۚରԠͳͲͷࣗಈԽλεΫΛࠐΈ͍͢ w ඞཁͳใΛશͯ͢͜ͱ͕Ͱ͖Δ w γεςϜͷΤϥʔϨʔτͷܭଌࢦඪʹͳΔ
ϩʔϧόοΫॲཧ࣮ͷצॴ ʢ͜Ε·Ͱͷࣦഊஊͷڞ༗ʣ
ϩʔϧόοΫॲཧ࣮ͷצॴᶃʢࠓ·Ͱͷࣦഊஊʣ ॲཧͷίϯςΩετͱαʔόʔͷڥքΛҰகͤ͞Δ औҾαʔόʔ ܾࡁαʔόʔ ܾࡁϦΫΤετ ࣦഊͨ͠ͷͰɺɹ Τϥʔίʔυฦ٫ ϩʔϧόοΫ
/(ͳྫ ܾࡁαʔόʔͰϩʔϧόοΫ ͤ͞Α͏ w োରԠͳͲͷۓٸ࣌ʹ Γ͕ͪ w ܾࡁαʔόʔͷมߋ࣌ʹɺ औҾαʔόʔଆͷςετίʔ υͰ୲อͰ͖ͳ͍ w ͕ࣝࢄ͢Δ w ਓ͕εέʔϧ͢Δͱࢮ͵
ϩʔϧόοΫॲཧ࣮ͷצॴᶄʢࠓ·Ͱͷࣦഊஊʣ ϝΠϯॲཧͱϩʔϧόοΫॲཧΛΧϓηϧԽͯ͠อकੑΛߴΊΔ 4FSWJDF .PEFM
·ͱΊ w ܾࡁγεςϜͰҰఆͷΤϥʔ͕ඞͣൃੜ͢Δ w ಠࣗʹϩʔϧόοΫॲཧΛ࣮ͯ͠ରԠ w ҆ఆͨ͠อकੑͷߴ͍γεςϜʹ͢Δʹ w
ॲཧͷίϯςΩετͱαʔόʔͷڥքΛҰகͤ͞Δ w ϝΠϯॲཧͱϩʔϧόοΫॲཧΛΧϓηϧԽͯ͠อकੑΛߴΊΔ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠