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
1.6k
0
Share
Handling TV Ad Traffic Influx with Microservices
https://wantedly.connpass.com/event/135968/
での登壇資料です。
Ryo Kubota
July 23, 2019
More Decks by Ryo Kubota
See All by Ryo Kubota
Terraform x OPA/Conftest の tips
ryokbt
0
1.1k
TerraformのレビューをConftestで自動化する
ryokbt
3
1.8k
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.3k
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
230
Nuxt Server Components
wattanx
0
230
Java 21/25 Virtual Threads 소개
debop
0
320
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.2k
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
820
「速くなった気がする」をデータで疑う
senleaf24
0
130
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.2k
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
460
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
280
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
210
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
170
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
90
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
110
Tell your own story through comics
letsgokoyo
1
880
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
95
Speed Design
sergeychernyshev
33
1.6k
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