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
20250807_Kiroと私の反省会
riz3f7
0
240
Kiroでインフラ要件定義~テスト を実施してみた
nagisa53
3
380
AI時代の大規模データ活用とセキュリティ戦略
ken5scal
0
160
Amazon GuardDuty での脅威検出:脅威検出の実例から学ぶ
kintotechdev
0
120
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
2
2.1k
MCP認可の現在地と自律型エージェント対応に向けた課題 / MCP Authorization Today and Challenges to Support Autonomous Agents
yokawasa
5
2.4k
「AIと一緒にやる」が当たり前になるまでの奮闘記
kakehashi
PRO
3
150
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
230
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
220
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
9
2.4k
Amazon Q と『音楽』-ゲーム音楽もAmazonQで作成してみた感想-
senseofunity129
0
160
20250807 Applied Engineer Open House
sakana_ai
PRO
2
470
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
450
Bash Introduction
62gerente
614
210k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
A designer walks into a library…
pauljervisheath
207
24k
What's in a price? How to price your products and services
michaelherold
246
12k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Thoughts on Productivity
jonyablonski
69
4.8k
Automating Front-end Workflow
addyosmani
1370
200k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Cult of Friendly URLs
andyhume
79
6.5k
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ʹΑͬͯϚΠΫϩαʔϏεؒͷ࿈ܞ͏·͍͖ͦ͘͏ ʢ͍ͬͯ΄͍͠ •
͕Μ͍ͬͯ͜͏ͳ
͋Γ͕ͱ͏͍͟͝·ͨ͠