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
620
決済システムのトランザクション管理方法
複数のサーバー間で処理を行い、データ整合性を為つためのロールバック処理について実践例を紹介します。
ShoheiMitani
January 29, 2019
Tweet
Share
More Decks by ShoheiMitani
See All by ShoheiMitani
孤独のCTOグルメという やや奇抜な企画をやった目的と効果
shoheimitani
3
1k
VISAカードの裏側と “手が掛かる” 決済システムの育て方
shoheimitani
38
17k
32個のPRでリリースした依存度の高いコアなモデルの安全な弄り方
shoheimitani
8
5.8k
本番環境のRailsでYJITをONにしてみた結果
shoheimitani
0
100
7つの入金外部サービスと連携して分かった実践的な”状態管理”設計パターン3選
shoheimitani
5
4.6k
監視を通じたサービスの逐次的進化 ~B/43の決済サービスでの取り組み~ / Kaigi on Rails 2021
shoheimitani
1
1.9k
RSpec基礎
shoheimitani
0
210
安全なリリースに向けた技術的アプローチ
shoheimitani
1
370
RailsとDBのトランザクション処理
shoheimitani
0
210
Other Decks in Programming
See All in Programming
TCA魔法学入門🪄
dazy
0
280
Laravel標準バリデーションでできること
hmb_ok
2
360
Introduction for Open Source Swift Workshop
giginet
PRO
0
290
PHP8の機能を使って堅牢にコードを書く
fendo181
6
2.6k
Compiling Python to WebAssembly with py2wasm
syrusakbary
0
140
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
4
2.9k
Kotlinを用いたDSL的な設計手法と使用上の注意
kohii00
3
530
Ruby製社内ツールのGo移行
bgpat
2
270
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
1.5k
LLMチャットボットのアプリケーション設計Tips
os1ma
4
660
自動テスト実行結果の目的を整理する / Organizing objectives of automated test results
twada
PRO
10
2.1k
クソコード動画『カプセル化 Mk-II』 で考える 上手くカプセル化できない理由 / encapsulation2
minodriven
11
8k
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
A Modern Web Designer's Workflow
chriscoyier
689
190k
A designer walks into a library…
pauljervisheath
199
23k
Building Flexible Design Systems
yeseniaperezcruz
317
37k
Adopting Sorbet at Scale
ufuk
66
8.5k
Building Applications with DynamoDB
mza
88
5.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
The Mythical Team-Month
searls
214
42k
RailsConf 2023
tenderlove
0
510
KATA
mclloyd
14
11k
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 ϝΠϯॲཧͱϩʔϧόοΫॲཧΛΧϓηϧԽͯ͠อकੑΛߴΊΔ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠