Upgrade to Pro — share decks privately, control downloads, hide ads and more …

決済システムのトランザクション管理方法

 決済システムのトランザクション管理方法

複数のサーバー間で処理を行い、データ整合性を為つためのロールバック処理について実践例を紹介します。

ShoheiMitani

January 29, 2019
Tweet

More Decks by ShoheiMitani

Other Decks in Programming

Transcript

  1. Re:valua t ion https://fril.jp/ L ead & Delight User F

    irst Ownership Fail Smart ܾࡁγεςϜͷτϥϯβΫγϣϯ؅ཧํ๏ !&CJTVSC
  2. 3BLVNB4FSWJDF%FWFMPQNFOU(SPVQ 3BLVUFO JOD   ͜͜ʹ͸λΠτϧΛೖྗ͠·͢ɻ ࡾ୩ণฏ !TIPIFJ !4IPIFJ.JUBOJ

  3. None
  4.   ໨࣍ w ͸͡Ίʹ w ܾࡁγεςϜ֓ཁ w αʔόʔߏ੒ w

    ܾࡁॲཧͷྲྀΕ w γεςϜߏ੒໘Ͱͷ੍໿ w ϩʔϧόοΫઓུ w ϩʔϧόοΫͷํ๏ w ϩʔϧόοΫํ๏ͷબ୒ࢹ఺ w ઃܭ࣌ͷ஫ҙ఺ w ·ͱΊ
  5. ͸͡Ίʹ  

  6.   ͸͡Ίʹ w ܾࡁγεςϜͰ͸Ұఆ਺ͷΤϥʔ͕ඞͣൃੜ͢Δ w ϢʔβʔىҼɿΧʔυೝূΤϥʔɺೖྗ৘ใΤϥʔ w γεςϜىҼɿ஗Ԇɺαʔόʔো֐ɺෆ۩߹ w

    ద੾ͳϩʔϧόοΫํ๏Λબ୒͠ɺσʔλͷ੔߹ੑΛอͭ͜ͱ͕ॏཁ w ࠓ೔͸ͦͷϩʔϧόοΫͷํ๏ʹ͍ͭͯͷ͓࿩
  7. ܾࡁγεςϜ֓ཁ  

  8.   αʔόʔߏ੒ʢ؆қਤʣ Users Internet औҾαʔόʔ 8FC7JFX ܾࡁαʔόʔ "1*αʔόʔ ܾࡁ୅ߦձࣾ

    σʔλϕʔε ϦΫΤετ લॲཧ ܾࡁϦΫΤετ ޙॲཧ ʢόοΫάϥ΢ϯυʣ 1VTI௨஌౳ ׬ྃը໘ w %#Λڞ༗͢Δ෼அ͞Εͨ ϞϊϦεߏ੒ w Ұͭͷॲཧʹɺෳ਺ͷαʔ όʔ௨৴͕ඞཁʹͳΔ
  9.   ܾࡁॲཧͷྲྀΕ w ஫จ৘ใͷ࡞੒ w ঎඼ঢ়ଶͷมߋ લॲཧ ܾࡁॲཧ w

    ࢧ෷͍σʔλͷ࡞੒ w ϙΠϯτച্ۚΫʔ ϙϯͷফඅ ޙॲཧ w 1VTI௨஌ϝʔϧ ௨஌ औҾαʔόʔ ܾࡁαʔόʔ "1*αʔόʔ Internet ܾࡁ୅ߦձࣾ
  10.   γεςϜߏ੒໘Ͱͷ੍໿ औҾαʔόʔ ܾࡁαʔόʔ ܾࡁ୅ߦձࣾ ॲཧ͝ͱʹαʔόʔ͕෼͔Ε͍ͯΔͨΊɺҰͭͷ%#τϥϯβΫγϣϯ಺Ͱঢ়ଶΛ؅ཧ͢Δ͜ͱ͸ෆՄ ೳɻ τϥϯβΫγϣϯ τϥϯβΫγϣϯ

    τϥϯβΫγϣϯ τϥϯβΫγϣϯ
  11.   γεςϜߏ੒໘Ͱͷ੍໿ औҾαʔόʔ ܾࡁαʔόʔ ܾࡁ୅ߦձࣾ ॲཧ͝ͱʹαʔόʔ͕෼͔Ε͍ͯΔͨΊɺҰͭͷ%#τϥϯβΫγϣϯ಺Ͱঢ়ଶΛ؅ཧ͢Δ͜ͱ͸ෆՄ ೳɻ τϥϯβΫγϣϯ τϥϯβΫγϣϯ

    τϥϯβΫγϣϯ τϥϯβΫγϣϯ Τϥʔൃੜ࣌ʹ ͲͷΑ͏ʹσʔλΛ໭͔͢
  12.   %#τϥϯβΫγϣϯ͕෼ׂ͞ΕΔҎ্ɺ ಠࣗʹϩʔϧόοΫॲཧΛ࣮૷͢Δ͔͠ͳ͍

  13. ϩʔϧόοΫઓུ  

  14.   ϩʔϧόοΫͷΠϝʔδ w ՄೳͳݶΓ%#τϥϯβΫγϣϯ ʹཔΒͳ͍ w Τϥʔൃੜ࣌ʹͦͷ৘ใΛ%# อଘ͢ΔͨΊ w

    ΧϓηϧԽͨ͠Ϋϥε͸ɺ੹೚ൣ ғ಺ͰͷσʔλҰ؏ੑΛอͭ w ͨͩ͠ɺSPMMCBDLϝιου͸ QVCMJDʹͯ͠֎෦͔Βݺͼग़͠Մ ೳʹ͢Δ
  15.   ςʔϒϧߏ੒ ࠷৽ঢ়ଶͷ؅ཧ ߋ৽ཤྺͷ؅ཧ w ࠷৽ঢ়ଶΛ؅ཧͤ͞Δͷ͸ ܦཧ্ͷཧ༝ w Τϥʔൃੜ࣌ʹ͸TUBUVT

    ΧϥϜΛߋ৽͢Δ w อ༗ϙΠϯτച্ۚͳ Ͳͷ࢒ߴܥ͸΋͏গ͠ෳࡶ ʹͳΔ
  16.   ಠࣗͷϩʔϧόοΫख๏ͷ1SPT$POT 1SPT $POT ॲཧ݁Ռ΍Τϥʔཧ༝ͷه࿥ʹڧ͍ ࣮૷͕͔ͳΓෳࡶʹͳΓɺ ςʔϒϧઃܭ͔࣌Β഑ྀ͕ඞཁ ΞʔΩςΫνϟͷมߋʹॊೈʹରԠՄೳ Ұͭͷ੔߹ੑϛε͕େ͖ͳࣦഊʹܨ͕Δ

    σʔλͷ͋Δ΂͖࢟ΛίʔυͰදݱͰ͖Δ ػೳ௥Ճ࣌ͷ࣮૷࿙Ε΍ɺ ϦϑΝΫλϦϯά࣌ͷσάϨ͕͋Γ͏Δ ॊೈʹ࣮૷Մೳ͕ͩɺٕज़త೉қ౓͕ߴ͍
  17.   ಠࣗͷϩʔϧόοΫख๏ʹͷ1SPT·ͱΊ w ॲཧϓϩηεΛશͯه࿥͍ͨ͠γεςϜͱ૬ੑ͕ྑ͍ w %#ϩʔϧόοΫ͕ͳ͍ͷͰɺ్தه࿥ͨ͠σʔλ͕ফ͑ͳ͍ w ܦཧܥ$4໰͍߹Θͤͱ૬ੑ͕͍͍ w

    ฦۚରԠͳͲͷࣗಈԽλεΫΛ࢓ࠐΈ΍͍͢ w ඞཁͳ৘ใΛશͯ࢒͢͜ͱ͕Ͱ͖Δ w γεςϜͷΤϥʔϨʔτͷܭଌࢦඪʹͳΔ
  18. ϩʔϧόοΫॲཧ࣮૷ͷצॴ ʢ͜Ε·Ͱͷࣦഊஊͷڞ༗ʣ  

  19.   ϩʔϧόοΫॲཧ࣮૷ͷצॴᶃʢࠓ·Ͱͷࣦഊஊʣ ॲཧͷίϯςΩετͱαʔόʔͷڥքΛҰகͤ͞Δ औҾαʔόʔ ܾࡁαʔόʔ ܾࡁϦΫΤετ ࣦഊͨ͠ͷͰɺɹ Τϥʔίʔυฦ٫ ϩʔϧόοΫ

    /(ͳྫ ܾࡁαʔόʔ಺ͰϩʔϧόοΫ ͤ͞Α͏ w ো֐ରԠͳͲͷۓٸ࣌ʹ ΍Γ͕ͪ w ܾࡁαʔόʔͷมߋ࣌ʹɺ औҾαʔόʔଆͷςετίʔ υͰ୲อͰ͖ͳ͍ w ஌͕ࣝ෼ࢄ͢Δ w ਓ͕εέʔϧ͢Δͱࢮ͵
  20.   ϩʔϧόοΫॲཧ࣮૷ͷצॴᶄʢࠓ·Ͱͷࣦഊஊʣ ϝΠϯॲཧͱϩʔϧόοΫॲཧΛΧϓηϧԽͯ͠อकੑΛߴΊΔ 4FSWJDF .PEFM

  21.   ·ͱΊ w ܾࡁγεςϜͰ͸Ұఆ਺ͷΤϥʔ͕ඞͣൃੜ͢Δ w ಠࣗʹϩʔϧόοΫॲཧΛ࣮૷ͯ͠ରԠ w ҆ఆͨ͠อकੑͷߴ͍γεςϜʹ͢Δʹ͸ w

    ॲཧͷίϯςΩετͱαʔόʔͷڥքΛҰகͤ͞Δ w ϝΠϯॲཧͱϩʔϧόοΫॲཧΛΧϓηϧԽͯ͠อकੑΛߴΊΔ
  22.   ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠