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
ecspressoの設計思想に至る道 / sekkeinight2025
fujiwara3
11
1.7k
Building GoReleaser - from shell script to paid product
caarlos0
0
280
Turn Your Community into a Fundraising Catalyst for Black Philanthropy Month
auctria
PRO
0
140
TypeScript 上達の道
ysknsid25
18
3.2k
AWS Well-Architected から考えるオブザーバビリティの勘所 / Considering the Essentials of Observability from AWS Well-Architected
sms_tech
1
860
Wasmで社内ツールを作って配布しよう
askua
0
130
M365アカウント侵害時の初動対応
lhazy
7
4.6k
FAST導入1年間のふりかえり〜現実を直視し、さらなる進化を求めて〜 / Review of the first year of FAST implementation
wooootack
1
130
PdM業務における使い分け
shinshiro
0
590
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
5.8k
スプリントゴール未達症候群に送る処方箋
kakehashi
PRO
1
250
Recoil脱却の現状と挑戦
kirik
3
360
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
184
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
282
13k
The Invisible Side of Design
smashingmag
301
51k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Documentation Writing (for coders)
carmenintech
72
4.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
RailsConf 2023
tenderlove
30
1.2k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing Experiences People Love
moore
142
24k
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ʹΑͬͯϚΠΫϩαʔϏεؒͷ࿈ܞ͏·͍͖ͦ͘͏ ʢ͍ͬͯ΄͍͠ •
͕Μ͍ͬͯ͜͏ͳ
͋Γ͕ͱ͏͍͟͝·ͨ͠