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
アイスタイルにおけるgoa導入事例 / case studies of goa in isty...
Search
銀シャリ
June 16, 2017
Technology
0
1.7k
アイスタイルにおけるgoa導入事例 / case studies of goa in istyle inc
銀シャリ
June 16, 2017
Tweet
Share
More Decks by 銀シャリ
See All by 銀シャリ
Goではじめたいテスト / testing we want to start with Go
ginshari
2
140
クロワッサンとGOの話と見せかけてReactNativeの話 / croissant, Go, and React Native
ginshari
0
120
Other Decks in Technology
See All in Technology
Claude Code Subagents 再入門 ~cc-sddの実装で学んだこと~
gotalab555
10
17k
Linux カーネルが支えるコンテナの仕組み / LF Japan Community Days 2025 Osaka
tenforward
1
120
SQLAlchemy の select(User).where(User.id =="123") を理解してみる/sqlalchemy deep dive
3l4l5
3
300
Wasmの気になる最新情報
askua
0
180
混合雲環境整合異質工作流程工具運行關鍵業務 Job 的經驗分享
yaosiang
0
160
Okta Identity Governanceで実現する最小権限の原則 / Implementing the Principle of Least Privilege with Okta Identity Governance
tatsumin39
0
170
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
Kubernetes self-healing of your workload
hwchiu
0
420
「魔法少女まどか☆マギカ Magia Exedra」におけるバックエンドの技術選定
gree_tech
PRO
0
120
ソフトウェアエンジニアの生成AI活用と、これから
lycorptech_jp
PRO
0
850
Building a cloud native business on open source
lizrice
0
170
まだ間に合う! 2025年のhono/ssg事情
watany
3
580
Featured
See All Featured
Making Projects Easy
brettharned
120
6.4k
Six Lessons from altMBA
skipperchong
29
4k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
A designer walks into a library…
pauljervisheath
209
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
Optimizing for Happiness
mojombo
379
70k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Balancing Empowerment & Direction
lara
5
700
Transcript
ΞΠελΠϧʹ͓͚Δ HPBಋೖࣄྫ HPBษڧձ JOຊҰஸ
ࣗݾհ ͠ͳ͍ελΠϧ
ΞδΣϯμ ΞΠελΠϧͱϚΠΫϩαʔϏε ΞΠελΠϧʹ͓͚ΔHP HPBͷ࠾༻ʹ͍ͭͯ ಋೖʹ͋ͨͬͯࠔͬͨ͜ͱͳͲ ՝ͱ͜Ε͔Β ·ͱΊ
5-%3 )c8 HP͍͍ͧ HPB͍͍ͧ ͭΒ͍ͱ͜Ζ͕ΜΔͧ
ΞΠελΠϧͱϚΠΫϩαʔϏε
ࣄۀձࣾͱͯ͠ͷࣄ ࣄۀͷεέʔϧ ଟͷαʔϏε͕͢Ͱʹଘࡏ͠ɺߋʹ૿͍͑ͯ͘ ϓϥοτϑΥʔϜͱͯ͠ͷ͕ΓΛ࣮ݱ͍ͯ͘͠ ෳͷαʔϏεΛͭͳ͍͛ͯ͘Έͮ͘Γ
৭ΜͳॴͰΑ͘ฉ͘Α͏ͳঢ়گͨͪ αʔϏε͕૿͑ͯɺαʔϏεؒͰͷ࿈ܞ૿͍͑ͯΔ εϚϗΞϓϦͷॏཁੑˢˢˢ ʢ8FCϝΠϯͰ͘ӡ༻͞Ε͖͍ͯͯͨʣ ͭͷϓϩμΫτ͕ංେԽ͍ͯ͘͜͠ͱͰ ίʔυϕʔε͕ෳࡶԽ ˠϚΠΫϩαʔϏεԽΛਐΊ͍͔ͯͳ͍ͱ ཱͪߦ͔ͳ͘ͳΔʂʂ
ਐͲ͏Ͱ͔͢ʁ ͍͖ͬͯ
ΞΠελΠϧʹ͓͚ΔHP
ಋೖ࣌ܥྻ ॳ಄ όονॲཧΛHPͰ࣮ʢฐࣾʹ͓͚ΔHPจ໌ͷ͓͜Γ ৽نཧը໘ʢ41"ʣ࡞Ͱ8FCσϏϡʔ FDIP ಈըཧ"1*ͰߴෛՙHPBσϏϡʔ ݱࡏ εϚϗΞϓϦ͚"1*
HPB ࣾ༻όονॲཧɺτϥοΩϯάαʔόʔͳͲ HP࠾༻ϓϩδΣΫτ૿ՃதʢŘŵŠŠʣʂ
αʔόʔߏ ΦϯϓϨͰ͢ ϩʔυόϥϯαʔ͕ϦΫΤετΛHP༻αʔόʔ̎ʹৼΓ͚ HPͷ࣮ߦαʔόʔͰɺOHJOYͰϩʔΧϧϙʔτͰෳىಈͨ͠ HPͷϓϩηεʹϦΫΤετΛৼΓ͚ HPͷϓϩηεόΠφϦʹϏϧυͨ͠ΞϓϦέʔγϣϯΛϙʔτ Λ͚ͯTVQFSWJTPSEͰෳىಈ ʢݱঢ়ɿ̍͋ͨΓ̎ϓϩηεʣ
supervisord bin(go) upstream 8FC"1*αʔόʔߏங࣌ͷجຊߏ supervisord bin(go) upstream load balancer
ॲཧ͍ͯ͠ΔϦΫΤετ ͬ͘͟ΓOHJOYͷΞΫηεϩάΛܭࢉͯ͠Έ·ͨ͠ HPͷΞϓϦέʔγϣϯϓϩηε̍ຊ͋ͨΓ ̍ɿ Oສ ʙ Nສ ϦΫΤετ ̎º̎ϓϩηεͳͷͰ ̍ɿ
Oສ ʙ Nສ ϦΫΤετ ͬ͘͟ΓҰϲ݄͋ͨΓ Yສ ʙ ZສϦΫΤετ
HPBͷ࠾༻ʹ͍ͭͯ
HPB࠾༻എܠ ॳFDIP HPKJͳͲͷ8"'Λར༻ ϓϩδΣΫτؒͰར༻͢Δ"1*ఏڙཁ݅ "1*Λఏڙ͢ΔઌͷϓϩδΣΫτ ʹݴޠɺεΩϧηοτɺνʔϜจԽ౷Ұ͞Ε͍ͯͳ͍ υΩϡϝϯτ͕ৗʹϝϯς͞Ε͍ͯΔඞཁੑɿେ TXBHHFSͰ"1*ΛఏڙͰ͖ΔHPB͕ྑͦ͞͏ ˠ࣮ࡍྑ͔ͬͨͷͰݱࡏʹࢸΔ
"1*υΩϡϝϯτߋ৽͞Εͳ͍ Α͋͘Δ෩ܠ ˞ݸਓͷײͰ͢ લఏɿΔ͜ͱͨ͘͞Μ 㲗 ΕΔͻͱ͘͢ͳ͍ ࡞ίετ ˠ ΪϦ͑Δʢ͑ͳ͍ʣ ߋ৽ίετ
ˠ ɾɾɾ
"1*υΩϡϝϯτߋ৽͞Εͳ͍ HPBಋೖʹΑΔվળ • HPBಋೖʹΑͬͯɺ࣮ 㲈υΩϡϝϯτߋ৽ʹ • "1*ΤϯυϙΠϯτͷϨϏϡʔΛTXBHHFSΛݟͳ͕Β࣮ ࢪ͢Δ͜ͱͰϨϏϡʔগָ͠ʹ ˞HPBͷಋೖͰલఏʢΔ͜ͱͨ͘͞Μʣվળ͠·ͤΜ
ಋೖʹ͋ͨͬͯࠔͬͨ͜ͱͳͲ
ϓνࠔͬͨ͜ͱ • $034ઃఆΛEFTJHO࡞࣌ʹࢦఆ͠ͳ͍ͱ͍͚ͳ͍ ʢຊ൪ͱεςʔδͰڐ༰͍ͨ͠63-͕ҟͳΔͷͰࠔΔʣ • /VNCFSܕͷϝϯόʔʹ%FGBVMUΛೖΕΑ͏ͱ͢ΔͱHPBHFOͰੜ ͞ΕΔίʔυ͕JOUͰઃఆ͞Εͯ͠·ͬͨ • TXBHHFS༻ͷϧʔςΟϯάΛ%4-ʹՃ͢ΔͱɺͦͷϧʔςΟϯά ͕TXBHHFSʹग़ͯ͘Δ
• TXBHHFS༻ͷϧʔςΟϯάΛՃͨͨ͠Ίຊ൪ͰTXBHHFS͕ݟΒ Εͯ͠·͏ͷͰࠔͬͨ
$034ઃఆΛEFTJHO࡞࣌ʹࢦఆ͠ͳ͍ͱ͍͚ͳ͍ • &DIPͷ$034ϛυϧΣΞΛύΫͬͯͷΑ͏ʹઃఆͯ͠ ͔Β6TFग़དྷΔϛυϧΣΞΛ࡞ͬͨ HJUIVCDPNEFBEDIFBUHPBDPST ͜Μͳ;͏ʹ͍·͢ TFSWJDF6TF HPBDPST8JUI$POGJH TFSWJDF HPBDPST(PB$034$POGJH\
"MMPX0SJHJOT<>TUSJOH\IUUQFYBNQMFDPN^ "MMPX.FUIPET<>TUSJOH\HPBDPST(&5^ ^
/VNCFSܕͷϝϯόʔʹ%FGBVMUΛೖΕΑ͏ͱ͢ΔͱHPBHFOͰੜ͞ΕΔίʔ υ͕JOUͰઃఆ͞Εͯ͠·ͬͨ ͯ͠13ϚʔδࡁΈ ʢҰॠ֘ՕॴҎ֎ͷςετ͕յΕͯযͬͨʣ ɾɾɾ͍͞͠
4XBHHFSϧʔςΟϯάपΓͷ • HPBHFOͤͣʹTXBHHFSKTPOΛTFSWF͢ΔͨΊͷDPOUSPMMFS Λ࡞ɾՃ • ϏϧυλάͰϑϥάઃఆΛΓସ͑ɺຊ൪࣌TXBHHFS͕ݟΒ Εͳ͍Α͏ʹ্ه$POUSPMMFSΛՃ͠ͳ͍Α͏ʹͨ͠ ·ͱΊͯ·͢ ˠIUUQTHJUIVCDPNEFBEDIFBUUIBOLTTXBHHFSTBNQMF
՝ͱ͜Ε͔Β
HPHPBΛಋೖͯ͠ݟ͑ͨ՝ • HPͷαʔόʔ͕ෛՙΛࡹ͚ͯ͠·͏͜ͱͰɺ ٯʹଞͷࣾ8FC"1*ʢ1)1ʣΛୟ͖͗ͯ͢ ͦͪΒଆ͕མͪͯ͠·͏ • ࣾͷ"1*υΩϡϝϯτͷܗࣜʹΒ͖͕ͭ͋Γɺ ·ͩ·ͩ4XBHHFSͷݞ͕ڱ͍ • HPͰ։ൃ͢Δϝϯόʔ͕·ͩ·ͩগͳ͍ʢݱࡏ໊ʣ
HPHPBΛಋೖͯ͠ݟ͑ͨ՝ɾɾɾͦͯ͠ • HPͷαʔόʔ͕ෛՙΛࡹ͚ͯ͠·͏͜ͱͰɺ ٯʹଞͷࣾ8FC"1*ʢ1)1ʣΛୟ͖͗ͯ͢ ͦͪΒଆ͕མͪͯ͠·͏ ˠHPͰͲΜͲΜ"1*Λஔ͖͍͖͍͑ͯͨ • ࣾͷ"1*υΩϡϝϯτͷܗࣜʹΒ͖͕ͭ͋Γɺ ·ͩ·ͩ4XBHHFSͷݞ͕ڱ͍ ˠHPBͰ։ൃ͠·ͬͯࣾ͘Λ4XBHHFSͷఱԼʹ͍ͨ͠
• HPͰ։ൃ͢Δϝϯόʔ͕·ͩ·ͩগͳ͍ʢݱࡏ໊ʣ ˠHPΛΊΔ͜ͱͰΓ͍ͨਓΛ૿͍͖͍ͯͨ͠
HPͰ։ൃ͢Δϝϯόʔ͕ ·ͩ·ͩগͳ͍ʢݱࡏ໊ʣ
HPͰ։ൃ͢Δϝϯόʔ͕ ·ͩ·ͩগͳ͍ʢݱࡏ໊ʣ
HPͰ։ൃ͍ͨ͠ ΤϯδχΞ͕ ΄͍͠ʂʂ
·ͱΊ • αʔϏε͕૿͑ɺϚΠΫϩαʔϏεԽ͕ٸ • HPͷಋೖʹΑΓɺݸʑͷϓϩμΫτͷ্࣭͕͍ͬͯ ͖ͦ͏ • HPBʹΑͬͯϚΠΫϩαʔϏεؒͷ࿈ܞ͏·͍͖ͦ͘͏ ʢ͍ͬͯ΄͍͠ •
͕Μ͍ͬͯ͜͏ͳ
͋Γ͕ͱ͏͍͟͝·ͨ͠