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

モダンなアーキテクチャでゼロから作る証券基盤

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 モダンなアーキテクチャでゼロから作る証券基盤

Avatar for Takuya Oki

Takuya Oki

July 21, 2020
Tweet

Other Decks in Technology

Transcript

  1. ࣄۀ಺༰ “BtoBforCϞσϧ”Λ࣠ʹɺଟ༷ͳχʔζʹରԠ͢Δۚ༥αʔϏεΛ։ൃɾఏڙ X[EH  X[EH 4&)?.3 X[EH .;#3:A. • RZ",C-B1$C*

    • >6%BJI • ;#+1$C* • ,<@51$LP"VU • KO(B/41$92#/ S` • YTW\M]Q^ !   D_F D  DJF GN-#7.JI (B/42#/S` W\:A038'#=
  2. Finatextάϧʔϓ͕໨ࢦۚ͢༥αʔϏε૾ ' 34$  ' ) #!."  $ $

    -% 1(  , 34 ' &  +/ $ 02*       
  3. BaaSͷಛ௃ • ෳ਺ͷECSΫϥελʹΑΔϚΠΫϩαʔϏε • ػೳ͝ͱʹେ͖͘ҟͳΔηΩϡϦςΟɾՄ༻ੑɾύϑΥʔϚϯεཁ݅ • ࢢ৔ͷ։͍ͯΔ࣌ؒ͸ݶΒΕ͓ͯΓɺͦΕʹΑΔίετ࠷దԽ • ϝϯςφϯεೖΕΔ͜ͱͷϋʔυϧͷࠩʢྫɿޱ࠲։ઃ͸24h։͚͍͍͕ͯͨɺ஫ จΛ౔೔ਂ໷ʹด͡Δ͜ͱ͸༰қʣ

    • ͨͩτϥϯβΫγϣϯڥք͸೉͍͠… • ਺ଟ͘ͷ֎෦઀ଓ؀ڥɻൃ஫ܥɺՁ֨ܥɺόοΫΦϑΟεetc • ͦΕʹ൐͏ଟ͘ͷόονॲཧ • FIXʢTCP্ͷۚ༥༻ϓϩτίϧʣʹ͸ઐ༻ઢ઀ଓʢDirect ConnectʣΛར༻ɻ
  4. ੵཱ౤ࢿͷ࢓૊Έ • ຖ݄8೔ʹੵཱΛ࣮ࢪ • 1. ηκϯϙέοτͷαʔό͔ΒɺBaaSʹରͯ͠ੵཱϦΫΤετΛ౤͛Δ • 2. BaaSͰ͸ҎԼΛߦ͏ •

    ސ٬ͷΫϨδοτΧʔυɾϙΠϯτͷܾࡁ • ܾࡁֹͨۚ͠Λɺސ٬ͷূ݊ޱ࠲΁ೖۚ • ސ٬ͷޱ࠲࢒ߴΛར༻͠ɺגࣜɾ౤ࢿ৴ୗͷࢢ৔΁ͷൃ஫ • 3. ηκϯϙέοτͷαʔόͰɺੵཱ݁ՌΛऔΓࠐΈ
  5. ੵཱ౤ࢿͷ࢓૊Έ • ຖ݄8೔ʹੵཱΛ࣮ࢪ • 1. ηκϯϙέοτͷαʔό͔ΒɺBaaSʹରͯ͠ੵཱϦΫΤετΛ౤͛Δ • 2. BaaSͰ͸ҎԼΛߦ͏ •

    ސ٬ͷΫϨδοτΧʔυɾϙΠϯτͷܾࡁ • ܾࡁֹͨۚ͠Λɺސ٬ͷূ݊ޱ࠲΁ೖۚ • ސ٬ͷޱ࠲࢒ߴΛར༻͠ɺגࣜɾ౤ࢿ৴ୗͷࢢ৔΁ͷൃ஫ • 3. ηκϯϙέοτͷαʔόͰɺੵཱ݁ՌΛऔΓࠐΈ
  6. ੵཱ౤ࢿͷ࢓૊Έ • ౤ࢿ৴ୗͷ৔߹ • ϙΠϯτͷܾࡁɾΫϨΧͷܾࡁ → ސ٬צఆ΁ೖۚ → ސ٬צఆͰࢢ৔΁ങ෇ൃ஫ •

    גࣜͷ৔߹ • ϙΠϯτͷܾࡁ → ސ٬צఆ΁ೖۚ → εϚʔτϓϥεͷࣗݾצఆͰࢢ৔΁ങ෇ൃ ஫ → ΫϨΧͷܾࡁ → ސ٬צఆ΁ೖۚ → εϚʔτϓϥεͷอ༗࢒ʢࡏݿʣΛސ ٬͕ങ෇͢Δ • גࣜͷ৔߹͸ɺސ٬͕ΫϨΧܾࡁʹࣦഊͨ͠৔߹͸ɺεϚʔτϓϥε͕ࡏݿΛ๊ ͑Δ͜ͱͱͳͬͯ͠·͏
  7. όονͷछྨ • BaaS 㱻 ηκϯϙέοτ • ηκϯϙέοτ͔ΒBaaS΁ੵཱਃ੥Λ࿈ܞ͢Δόον • BaaS͔Βηκϯϙέοτ΁ੵཱ݁ՌΛ࿈ܞ͢Δόον •

    BaaS୯ମ • BaaSͷதͰ֤ϚΠΫϩαʔϏεʹੵཱਃ੥Λ࿈ܞ͢Δόον • ΫϨδοτΧʔυ΍Ӭٱෆ໓ϙΠϯτΛܾࡁ͠ɺೖۚ͢Δόον • ࢢ৔΁גࣜΛൃ஫͢Δόον • ࢢ৔΁౤৴Λൃ஫͢Δόον • ηκϯϙέοτ୯ମ • ηκϯϙέοτͰϢʔβʹੵཱ݁ՌΛ௨஌͢Δόον
  8. ႈ౳ੑͱ͸ʁ • ͋Δૢ࡞Λෳ਺ճߦͬͯ΋ɺinput͕ಉ͡Ͱ͋Ε͹݁Ռ͸ಉ͡ʹͳΔɺͱ͍͏֓೦ • ex) ҎԼ͸ႈ౳Ͱ͸ແ͍ • όονΛෳ਺ճୟ͘ͱɺ݁Ռ͕ͦͷ౓ʹ૿͍͑ͯ͘ • όονΛෳ਺ճୟ͘ͱɺ݁Ռ͕ͦͷ౓ʹߋ৽͞Ε͍ͯ͘

    • όονΛႈ౳ʹ࡞Δ΂͖ཧ༝ • ͲΜͳόονʹ΋ඞࣦͣഊ͢ΔՄೳੑ͸͋Δ • ωοτϫʔΫΤϥʔɺoomɺϋʔυ΢ΣΞͷނোɾɾɾ • ໰୊ΛऔΓআ͍ͨޙɺ࠶౓όονΛ૸ΒͤΔࣄ͕ग़དྷΔ
  9. ႈ౳ੑͷ࣮૷ํ๏ • 1. શͯͷॲཧΛ΍Γ௚͢ • ͓ͦΒ͘ݫີͳҙຯͰͷႈ౳ੑ • ৔߹ʹΑͬͯ͸طʹग़དྷ͍ͯΔσʔλΛ࠷ॳʹ࡟আ͢Δ͜ͱ͕ඞཁͱͳΔ • ࠶࣮ߦ࣌ʹ࣌ؒ͸͔͔Δ͕ɺ৚݅෼ذ͸গͳͯ͘ࡁΉ

    • 2. ະॲཧͷ΋ͷͷΈ࣮ߦ͢Δ • ͦΕͧΕͷॲཧʹରͯ͠ॲཧࡁεςʔλεΛ͚ͭΔɻ࠶࣮ߦ࣌ʹ͸εςʔλε ͕͍͍ͭͯͳ͍΋ͷͷΈॲཧ͢Δ • ࠶࣮ߦ࣌ʹ࢒Γͷ݅਺Λ࣮ߦ͢Δ͚ͩͳͷͰɺ࣌ؒ͸͔͔Βͳ͍ • εςʔλεͰϋϯυϦϯά͢Δ෼ɺ৚݅෼ذ͸૿͑ͯ͠·͏
  10. ηκϯϙέοτͰͷྫ • 1. શͯͷॲཧΛ΍Γ௚͢ྫ • ηκϯϙέοτ͔ΒBaaSʹରͯ͠ੵཱϦΫΤετΛૹΔόον • ηκϯϙέοτͰBaaS͔Βੵཱ݁ՌΛऔΓࠐΉόον • 2.

    ະॲཧͷ΋ͷͷΈ࣮ߦ͢Δྫ • ΫϨδοτΧʔυ΍ϙΠϯτΛࢧ෷͏όον • ੵཱ݁ՌΛɺϝʔϧ౳ͰϢʔβʹ௨஌͢Δόον • ֎෦ʹ࡞༻Λ࣋ͬͯ͠·͏΋ͷ͸2Ͱ࣮૷ͤ͟ΔΛಘͳ͍ • 2ͷ৔߹ʹؾΛ͚ͭΔ΂͖͜ͱ —> τϥϯβΫγϣϯ੍ޚ
  11. ·ͱΊ • ূ݊ϓϥοτϑΥʔϜʮBaaSʢBrokerage as a ServiceʣʯΛ࢖͑͹ɺ ଟେͳॳظίετΛ͔͚ͳͯ͘΋ۚ༥ࣄۀΛ࢝ΊΒΕΔɻ • BaaS͸ϚΠΫϩαʔϏεԽ͠ɺηΩϡϦςΟɺՄ༻ੑɺύϑΥʔϚϯεɺ ίετʹର͠ɺͦΕͧΕͷ୯ҐͰٻΊΒΕΔ΋ͷʹద༻͍ͯ͠Δ

    • ֤αʔϏε͸ECSʹΑͬͯίϯςφӡ༻͠ɺdisposableʹ͢Δ͜ͱͰ ࠷৽ੑΛอͯΔΑ͏ʹ͍ͯ͠Δ • όονॲཧ΋Ϋϥ΢υαʔϏεൃՐͷΠϕϯτͰ࣮૷͢Δ͜ͱͰҰཡੑΛ อ͍ͬͯΔ • όονॲཧͷઃܭͰ͸ႈ౳ੑͱτϥϯβΫγϣϯ੍ޚ͕؊ʹͳΔ