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
Handling TV Ad Traffic Influx with Microservices
Search
Ryo Kubota
July 23, 2019
Programming
0
1.4k
Handling TV Ad Traffic Influx with Microservices
https://wantedly.connpass.com/event/135968/
での登壇資料です。
Ryo Kubota
July 23, 2019
Tweet
Share
More Decks by Ryo Kubota
See All by Ryo Kubota
Terraform x OPA/Conftest の tips
ryokbt
0
850
TerraformのレビューをConftestで自動化する
ryokbt
3
1.4k
Other Decks in Programming
See All in Programming
Elm 0.19.0 Changes
bkuhlmann
0
490
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
100
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
130
Netty Chicago Java User Group 2024-04-17
sullis
0
170
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
250
Snowflakeで眠ったデータを起こそう!
estie
0
110
Goのmultiple errorsについて (2024年4月版)
syumai
3
620
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
370
Tailwind CSSを本気でカスタマイズする方法
fsubal
13
5.2k
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
0
820
今、知っておきたい! 生成AIエージェントの世界
elith
3
350
Featured
See All Featured
Debugging Ruby Performance
tmm1
70
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
GitHub's CSS Performance
jonrohan
1025
450k
Embracing the Ebb and Flow
colly
80
4.1k
We Have a Design System, Now What?
morganepeng
43
6.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
78
42k
Atom: Resistance is Futile
akmur
259
25k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Product Roadmaps are Hard
iamctodd
44
9.7k
Practical Orchestrator
shlominoach
182
9.7k
Into the Great Unknown - MozCon
thekraken
10
990
Transcript
FiNC Technologies Ryo Kubota )BOEMJOH57"E5SBGGJD*OGMVY XJUI.JDSPTFSWJDFT
• Ryo Kubota • FiNC Technologies • SRE • New
graduate 8IPBN*
• What is Microservices? • About our TV Ad •
Discussion on Microservices after TV Ad "HFOEB
What is Microservices?
An architecture that structures a big system as a collection
of small services 8IBUJT.JDSPTFSWJDFT
• Technical heterogeneity • Resiliency • Scalability • etc #FOFGJUTPG.JDSPTFSWJDFT
8IZ'J/$BEPQU.JDSPTFSWJDFT
l0OF"QQGPS&WFSZ#PEZz The concept goes well with Microservices New functions have
been quickly released UP$BQQ "VUIFOUJDBUJPO &DPNNFSDF "* $PVQPO 8FBSBCMF 3FDPFOHJOF -JGFMPH 4/4 $IBU UP#TJUF 1PJOU 4VQQMFNFOU
About our TV Ad
57"E5SBGGJD*OGMVY
• .VMUJQMF/FX'VODUJPOT3JHIU #FGPSFUIF57"E • https://note.mu/mizoguchiyuji/n/n1267b01a3756
• Traffic influx • Parallel development right before the TV
ad • But NO DOWNTIME 8FIBOEMFE57"E
Discussion on Microservices after TV Ad
8IBUEJEXPSL 4DBMJOH
• You can scale out each function separately 8JUI.JDSPTFSWJDFTʜ
"NJDSPTFSWJDFGPSVTFSPOCPBSEJOH Transition in the number of workers → TV ad
started
• Quicker than scaling a single big monolith • Cost
saving 4DBMJOH.JDSPTFSWJDFT
8IBUEJEXPSL 'VODUJPO#BTFE1BSUJUJPOJOH
• .VMUJQMF/FX'VODUJPOTVOEFS %FWFMPQNFOUJO1BSBMMFM • https://note.mu/mizoguchiyuji/n/n1267b01a3756
• You just need to focus on a single function
• This can only be done with Microservices 1BSBMMFM%FWFMPQNFOU
'VUVSFJNQSPWFNFOU -FHBDZ.POPMJUI
"-FHBDZ.POPMJUI4UJMM3FNBJOT Legacy monolith can often be a bottleneck
&YBNQMFBU'J/$ .POPMJUI 4FSWJDF" 4FSWJDF# 4FSWJDF$ 4FSWJDF% : Synchronize user info
• This monolith has a knowledge about to which services it has to synchronize its information => Tight coupling (Anti-pattern)
• Anti-pattern emerged as a problem under increased traffic •
The queues for synchronization got stuck *ODJEFOU%VSJOH57"E
-PPTF$PVQMJOH • Each microservice should not have knowledge about other
services • Use pub/sub model instead • Microservice just publishes some event • Other microservices subscribe it if needed
.JHSBUJPOGSPN.POPMJUI • When you adopt Microservices, you often need to
migrate from monolithic architecture • Legacy monolith is likely to be tightly coupled to other services • Complete migration not to fall into anti-patterns • Otherwise you might end up increasing complexity
$PODMVTJPO
$PODMVTJPO • We ran TV ad • We handled the
traffic influx and parallel development with Microservices • Explained about a legacy monolith as future improvement