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
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
570
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
190
Modern Linux
oracle4engineer
PRO
0
160
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
280
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1.2k
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
470
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
280
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
190
Claude Code でアプリ開発をオートパイロットにするためのTips集 Zennの場合 / Claude Code Tips in Zenn
wadayusuke
5
2.2k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
A Tale of Four Properties
chriscoyier
160
23k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Building Applications with DynamoDB
mza
96
6.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Facilitating Awesome Meetings
lara
55
6.5k
Statistics for Hackers
jakevdp
799
220k
Into the Great Unknown - MozCon
thekraken
40
2k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Site-Speed That Sticks
csswizardry
10
820
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ʹΑͬͯϚΠΫϩαʔϏεؒͷ࿈ܞ͏·͍͖ͦ͘͏ ʢ͍ͬͯ΄͍͠ •
͕Μ͍ͬͯ͜͏ͳ
͋Γ͕ͱ͏͍͟͝·ͨ͠