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
770
決済システムのトランザクション管理方法
複数のサーバー間で処理を行い、データ整合性を為つためのロールバック処理について実践例を紹介します。
ShoheiMitani
January 29, 2019
Tweet
Share
More Decks by ShoheiMitani
See All by ShoheiMitani
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
950
法律に準拠した本人確認システムを0から作った話 〜家計簿プリカB/43でのeKYC開発実例〜
shoheimitani
2
930
初めましてが多いチームの形成期にEMが取り組んだ事
shoheimitani
1
170
ユーザーフレンドリーな取引明細のアーキテクチャ 〜VISAカードの複雑性に向き合う実践例〜
shoheimitani
5
2.6k
孤独のCTOグルメという やや奇抜な企画をやった目的と効果
shoheimitani
3
1.4k
VISAカードの裏側と “手が掛かる” 決済システムの育て方
shoheimitani
41
21k
32個のPRでリリースした依存度の高いコアなモデルの安全な弄り方
shoheimitani
8
7.2k
本番環境のRailsでYJITをONにしてみた結果
shoheimitani
0
160
7つの入金外部サービスと連携して分かった実践的な”状態管理”設計パターン3選
shoheimitani
6
5.8k
Other Decks in Programming
See All in Programming
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
200
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
880
バグを見つけた?それAppleに直してもらおう!
uetyo
0
180
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
140
Go の GC の不得意な部分を克服したい
taiyow
3
810
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
310
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
110
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
150
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
3
490
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Writing Fast Ruby
sferik
628
61k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Typedesign – Prime Four
hannesfritz
40
2.4k
It's Worth the Effort
3n
183
28k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Site-Speed That Sticks
csswizardry
2
190
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 ϝΠϯॲཧͱϩʔϧόοΫॲཧΛΧϓηϧԽͯ͠อकੑΛߴΊΔ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠