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.5k
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
1.1k
TerraformのレビューをConftestで自動化する
ryokbt
3
1.7k
Other Decks in Programming
See All in Programming
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
23
25k
メモリ不足との戦い〜大量データを扱うアプリでの実践例〜
kwzr
1
840
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
120
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
320
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
340
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
910
Swift Concurrency - 状態監視の罠
objectiveaudio
2
450
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
170
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
180
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
180
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
2
590
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Music & Morning Musume
bryan
46
6.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Unsuck your backbone
ammeep
671
58k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
GitHub's CSS Performance
jonrohan
1032
460k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
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