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
System Design
Search
정한빈
March 08, 2024
0
46
System Design
요구사항 파악, 개략적인 규모 측정
결제 서비스 설계
광고 도메인 분산시스템 설계
정한빈
March 08, 2024
Tweet
Share
More Decks by 정한빈
See All by 정한빈
Elasticsearch 구조 및 검색기능 기획 시 고려 사항
hanbin
0
33
Evolutionary Architecture
hanbin
0
20
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Producing Creativity
orderedlist
PRO
347
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
Become a Pro
speakerdeck
PRO
29
5.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Embracing the Ebb and Flow
colly
88
4.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
We Have a Design System, Now What?
morganepeng
53
7.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Speed Design
sergeychernyshev
32
1.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Transcript
System Design ೠ࠼ / ֢ҙৠ
ޙ
য٣ࢲࠗఠ ࢸ҅ೡ х উ֎ ۧѱө য۵ѱ ٜ݅যঠ غա? ޙ
ղо ࢸ҅ೠ ҳઑо ݏח ҳઑੋо? য٣ࢲࠗఠ ࢸ҅ೡ х উ֎ ۧѱө
য۵ѱ ٜ݅যঠ غա? ޙ
ղо ࢸ҅ೠ ҳઑо ݏח ҳઑੋо? ৵ ೦࢚ ߓನ೧ঠ ఠ? য٣ࢲࠗఠ
ࢸ҅ೡ х উ֎ যڌѱ ࢸٙೞ? ۧѱө য۵ѱ ٜ݅যঠ غա? ޙ
• “ղ ࢸ҅о ݏח ࢸ҅ੋо?” ী झझ۽ ޙೡ ࣻ ѱ
ؽ যт ࣻ ח Ѫ
• “ղ ࢸ҅о ݏח ࢸ҅ੋо?” ী झझ۽ ޙೡ ࣻ ѱ
ؽ • ӔѢח Ѿਸ ೡࣻѱ ؽ যт ࣻ ח Ѫ
System Design
ݾର • ਃҳࢎ೦ ঈ, ѐۚੋ ӏݽ ஏ • Ѿઁ ࢲ࠺झ
ࢸ҅ • ҟҊ بݫੋ ࠙दझమ ࢸ҅ (ҙৠ)
ਃҳࢎ೦ ঈ
ӝמ ਃҳࢎ೦ A.بݫੋী ٮۄ ܴ ࠺ӝמ ਃҳࢎ೦
ӝמ ਃҳࢎ೦ A.بݫੋী ٮۄ ܴ ࠺ӝמ ਃҳࢎ೦
ӝמ ਃҳࢎ೦ A.بݫੋী ٮۄ ܴ ࠺ӝמ ਃҳࢎ೦ A.ೞܖী ݻѐ স(Ѿઁ,
ױࣽਃ)ਸ ܻೡ ࣻ যঠ ೞחо? B.ࠁউ ਃೠо? C.উࢿ ਃೠо? D.ࣘبо ਃೠо? E. ਊо әૐೞח दр חо?
ѐۚੋ ӏݽ ஏ
ੌױ ইחѱ ݆ইঠ ೣ
• RDB vs NoSQL • ScaleUp vs ScaleOut • ۽٘ߖ۠ࢲ
• DB ച • ࢥ٬ • நद • MQ • Stateless • ݽ֥ܻझ vs MSA • …
• RDB vs NoSQL • ScaleUp vs ScaleOut • ۽٘ߖ۠ࢲ
• DB ച • ࢥ٬ • நद • MQ • Stateless • ݽ֥ܻझ vs MSA • … Ѩ࢝೧ࠁݶ ঌࣻ
ࣗాೡٸ ӏݽ ஏ য۰
2 ઁғ ࣻ
ো ч
ো ч
о ↟ਘр מز ࢎਊ(monthly active user)ח 3র(300milion) ݺ. ↟50% ࢎਊо
ਤఠܳ ݒੌ ࢎਊೠ. ↟ಣӐਵ۽ п ࢎਊח ݒੌ 2Ѥ ਪਸ ৢܽ. ↟٣যܳ ನೣೞח ਪ 10% ب. ↟ؘఠח 5֙р ࠁҙػ.
о ↟ਘр מز ࢎਊ(monthly active user)ח 3র(300milion) ݺ. ↟50% ࢎਊо
ਤఠܳ ݒੌ ࢎਊೠ. ↟ಣӐਵ۽ п ࢎਊח ݒੌ 2Ѥ ਪਸ ৢܽ. ↟٣যܳ ನೣೞח ਪ 10% ب. ↟ؘఠח 5֙р ࠁҙػ. ୶ ↟ੌр מز ࢎਊ(Daily Active User, DAU) = 3র x 50% = 1.5র(150milion) ↟QPS = 1.5র X 2 ਪ / 24दр /3600ୡ = ড 3500 ↟୭ QPS(Peek QPS) = 2 x QPS = ড 7000 QPS(Query Per Second) ୶
о ↟ਘр מز ࢎਊ(monthly active user)ח 3র(300milion) ݺ. ↟50% ࢎਊо
ਤఠܳ ݒੌ ࢎਊೠ. ↟ಣӐਵ۽ п ࢎਊח ݒੌ 2Ѥ ਪਸ ৢܽ. ↟٣যܳ ನೣೞח ਪ 10% ب. ↟ؘఠח 5֙р ࠁҙػ. ୶ ↟ੌр מز ࢎਊ(Daily Active User, DAU) = 3র x 50% = 1.5র(150milion) ↟QPS = 1.5র X 2 ਪ / 24दр /3600ୡ = ড 3500 ↟୭ QPS(Peek QPS) = 2 x QPS = ড 7000 QPS(Query Per Second) ୶ ࣗ୶ ↟ಣӐਪӝ ↟UXFFU@JEী߄ ↟ఫझী߄ ↟٣যী.# ↟٣যࣗਃҳরYYY.#5#ੌ ↟֙р٣যܳࠁҙೞӝਤೠࣗਃҳ5#99ড1#
nѐ rowо ऺੋ DBীࢲ btree ੋؙझ۽ ઑഥೞח োदр : ?
Ѿઁ ࢲ࠺झ ࢸ҅
Ѿઁ ࢲ࠺झܳ ٜ݅য
1. ޙઁ(ਃҳࢎ೦) 2. ѐۚੋ ࢸ҅ 3. ࢚ࣁ ࢸ҅ 4.
Ӓ ৻ Ҋ۰ೡ
ޙઁ A. যڃ Ѿઁ दझమਸ ٜ݅যঠ ೞաਃ? B.
٘ Ѿઁܳ ܻ೧ঠ ೞաਃ? C. ٘ ؘఠܳ ೧ঠ ೞաਃ? D. ೞܖী ݻߣ Ѿઁо ܖয աਃ? E. ӝ Ѿઁ(ҳة)ܳ ਗ೧ঠ ೞաਃ? F. ӝ Ѿઁ ӝח যڌѱ غաਃ?
ޙઁ A. যڃ Ѿઁ दझమਸ ٜ݅যঠ ೞաਃ? -> ъࢎо
ৢܽ ъܳ ࢎח ࢲ࠺झ Ѿઁ दझమ B. ٘ Ѿઁܳ ܻ೧ঠ ೞաਃ? -> X, iamport, tosspayment ࢎਊ೧ঠ ೣ C. ٘ ؘఠܳ ೧ঠ ೞաਃ? -> хೠ ؘఠח ೞݶ উؽ ex) ٘ߣഐ D. ೞܖী ݻߣ Ѿઁо ܖয աਃ? -> ೞܖ 100݅Ѥ E. ӝ Ѿઁ(ҳة)ܳ ਗ೧ঠ ೞաਃ? -> O F. ӝ Ѿઁ ӝח যڌѱ غաਃ? -> ೠ׳
A. যڃ Ѿઁ दझమਸ ٜ݅যঠ ೞաਃ? -> ъࢎо ৢܽ ъܳ
ࢎח ࢲ࠺झ Ѿઁ दझమ B. ٘ Ѿઁܳ ܻ೧ঠ ೞաਃ? -> X, iamport, tosspayment ࢎਊ೧ঠ ೣ C. ٘ ؘఠܳ ೧ঠ ೞաਃ? -> хೠ ؘఠח ೞݶ উؽ ex) ٘ߣഐ D. ೞܖী ݻߣ Ѿઁо ܖয աਃ? -> ೞܖ 100݅Ѥ E. ӝ Ѿઁ(ҳة)ܳ ਗ೧ঠ ೞաਃ? -> O F. ӝ Ѿઁ ӝח যڌѱ غաਃ? -> ೠ׳ ӝמ ਃҳࢎ೦ 1. Ә ࣻन ܴ : Ҋёਵ۽ࠗఠ Әਸ ࣻ۸ೠ 2. Ә ߊन ܴ : ౸ݒ(ъࢎ)ীѱ Әਸ ࣠Әೠ 3. ӝ Ѿઁ : ೠ׳݃ Ѿઁо ܖযઉঠ ೠ ࠺ӝמ ਃҳࢎ೦ 1. न܉ࢿ ߂ ղѾೣࢿ : Ѿઁ ܴ नೞѱ ܻ೧ঠ ೣ 2. Ҋоਊࢿ : ೞܖ 100݅Ѥ ے࣌ਸ ܻ оמ೧ঠ ೣ 3. ࢿ : ৻ࠗ ࢲ࠺झ, Ѿઁ ے࣌ р ؘఠ ੌܳ ࠁ೧ঠ ೣ
A. যڃ Ѿઁ दझమਸ ٜ݅যঠ ೞաਃ? -> ъࢎо ৢܽ ъܳ
ࢎח ࢲ࠺झ Ѿઁ दझమ B. ٘ Ѿઁܳ ܻ೧ঠ ೞաਃ? -> X, iamport, tosspayment ࢎਊ೧ঠ ೣ C. ٘ ؘఠܳ ೧ঠ ೞաਃ? -> хೠ ؘఠח ೞݶ উؽ ex) ٘ߣഐ D. ೞܖী ݻߣ Ѿઁо ܖয աਃ? -> ೞܖ 100݅Ѥ E. ӝ Ѿઁ(ҳة)ܳ ਗ೧ঠ ೞաਃ? -> O F. ӝ Ѿઁ ӝח যڌѱ غաਃ? -> ೠ׳ ӝמ ਃҳࢎ೦ 1. Ә ࣻन ܴ : Ҋёਵ۽ࠗఠ Әਸ ࣻ۸ೠ 2. Ә ߊन ܴ : ౸ݒ(ъࢎ)ীѱ Әਸ ࣠Әೠ 3. ӝ Ѿઁ : ೠ׳݃ Ѿઁо ܖযઉঠ ೠ ࠺ӝמ ਃҳࢎ೦ 1. न܉ࢿ ߂ ղѾೣࢿ : Ѿઁ ܴ नೞѱ ܻ೧ঠ ೣ 2. Ҋоਊࢿ : ೞܖ 100݅Ѥ ے࣌ਸ ܻ оמ೧ঠ ೣ 3. ࢿ : ৻ࠗ ࢲ࠺झ, Ѿઁ ے࣌ р ؘఠ ੌܳ ࠁ೧ঠ ೣ
ೞܖ 100݅Ѥ ے࣌ ܻ оמ೧ঠ ೣ > ୡ 10(1,000,000 /
100,000) ѐ ے࣌ 86,400
ೞܖ 100রѤ ے࣌ ܻ оמ೧ঠ ೣ > ୡ 11݅Ѥ(10,000,000,000 /
100,000) ѐ ے࣌
ೞܖ 100݅Ѥ ے࣌ ܻ оמ೧ঠ ೣ > ୡ 10(1,000,000 /
100,000) ѐ ے࣌ ੌ߈ੋ ؘఠ߬झীࢲ ܻ оמೣ ܻ < ഛೠ Ѿઁ
ѐۚੋ ࢸ҅ ӝמ ਃҳࢎ೦ 1. Ә ࣻन ܴ : Ҋёਵ۽ࠗఠ
Әਸ ࣻ۸ೠ 2. Ә ߊन ܴ : ౸ݒ(ъࢎ)ীѱ Әਸ ࣠Әೠ 3. ӝ Ѿઁ : ೠ׳݃ Ѿઁо ܖযઉঠ ೠ ࠺ӝמ ਃҳࢎ೦ 1. न܉ࢿ ߂ ղѾೣࢿ : Ѿઁ ܴ नೞѱ ܻ೧ঠ ೣ 2. ࢿ : ৻ࠗ ࢲ࠺झ, Ѿઁ ے࣌ р ؘఠ ੌܳ ࠁ೧ঠ ೣ 3. ܻ ࠁ Ѿઁ ے࣌ ޖѾࢿ ਃ
ѐۚੋ ࢸ҅
(ޙఋ)
࢚ࣁ ࢸ҅ A. DBח ޖਸ ॶө? B. Ѿઁ ӝ۾ਸ যڌѱ
ೡө? C. ৻ࠗ ࢲ࠺झ৬ ؘఠ ࠺ੌо ߊࢤೞݶ যڌѱ ܻೡө? D. Ѿઁ पಁח যڌѱ ܻೡө? E. Ѿઁ ো যڌѱ ܻೡө? F. ࠂ Ѿઁח যڌѱ ߑೡө?