More Related Content Similar to How to build massive service for advance (20) More from DaeMyung Kang (20) How to build massive service for advance2. ๋ฐํ์ ์๊ฐ
โ ์คํ ํ๋ก ํฐ์ด 5๊ธฐ ํํธํ์(ํ)
โ Data Engineer at Udemy(ํ)
โ Software Engineer at Kakao(์นด์นด์ค ์คํ ๋ฆฌ)
โ Software Engineer at Naver(๋ค์ด๋ฒ ๋ฉ์ผ)
โ Software Engineer at Finaldata
8. ๋์ฉ๋ ์๋น์ค ์ค๊ณ ๋ฐฉ๋ฒ
โ SPOF ์ ๊ฑฐ
โ ์ค๋ธ์ ํธ ์คํ ์ด
โ ๋ฐ์ดํฐ ์ค๋ฉ
โ ์ฝ๋๋ค์ดํฐ
โ Circuit Breaker
โ ๋ธ๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ, ์นด๋๋ฆฌ ๋ฐฐํฌ
โ Feature Flag(Switch)
17. API Server ๊ฐ ์ฃฝ์ด๋?
Web Browser
Mobile Apps
API Server 1
API Server 2
DB
Primary
DB
Secondary
26. ์์ฒด ๊ด๋ฆฌํ๋ฉด ์๋ฒ๊ฐ ์ฌ๋ฌ๋์ผ๋...
Image 2๋ ์ด๋์ ์ฐพ์์ผ ํ ๊น?
Web Browser
Mobile Apps
API Server 1
API Server 2 File Server
Image 2
Image 9
Image 3
File Server
Image 1
Image 10
Image 4
27. ์์ฒด ๊ด๋ฆฌ ๋ฐฉ์์ ๋ฌธ์ ์
โ ๋์คํฌ ๋ฑ์ ์ฆ์ค ์๊ธฐ๋ฅผ ๋ง์ถ๊ธฐ๊ฐ ์ด๋ ต๋ค.
โ ๋ฐ์ดํฐ ์ ์ค ํ๋ฅ ์ด ๋๋ค.
โ Object Store ํํ๋ก ๊ฐ๋ ค๋ฉด, ๊ตฌํํ๊ธฐ๊ฐ ์ด๋ ค์.
โ ํฐ ํ์ฌ๋ค์ ๋๋ถ๋ถ ์์ฒด ๊ตฌํํด์ ์.
29. Data Loss : ๋ณดํต 3๊ฐ์ ๋ณต์ ๋ณธ์ ๋๋ฉด 99.999% ๋ณด
์ฅ
๋ณด์ฅ์จ ๋ณต์ ๊ฐ์
99.99% 2
99.999% 3
30. Object Store ์ ์ญํ
โ ์ด๋ฏธ์ง ๋ฑ์ ํ์ผ(์ค๋ธ์ ํธ)๋ฅผ ์ ์ฅํจ.
โ ๋ด๋ถ์ ์ผ๋ก ๋ณต์ ๋ณธ์ด ์๊ฒจ์ ์ ์ค์ ๊ฐ๋ฅ์ฑ์ด ์ ์
โ ์ฌ๋์ด ์ค์๋ก ์ง์ธ๋๋โฆ(S3๋ Versioning์ ์ง์)
โ ์คํ ๋ฆฌ์ง์ ์ฌ์ด์ง, ์ฅ์ ๋ฑ์ ๋ํ ๊ณ ๋ฏผ์ด ์ ์ด์ง.
58. ์ฝ๋๋ค์ดํฐ
API Server
API Server
API Server
Cordinator
Auth Server
Auth Server
Auth Server
2. Auth Server ์ถ๊ฐ
3. Auth Server ๊ฐ ์ถ๊ฐ
๋์์, ๋ค์ ๋ชฉ๋ก์ ๊ฐ
์ ธ๊ฐ์์ค.
1. Auth Server ์ ๋ณ๋
์ ์๋ ค์ค!!!
61. Circuit Breaker ์ ํ์์ฑ
โ ํ์ฌ์ ์๋น์ค๋ ๋ค ์์ ๋ง์ ์ธ๋ถ ์๋น์ค์ API(์๊ธฐ ํ ์ด์ธ์, ๋๋
์๊ธฐ ํ์์ ๊ด๋ฆฌํ๋๋ผ๋ ๋ค๋ฅธ ์๋ฒ์)๋ฅผ ์ฌ์ฉํ๊ฒ ๋จ.
โ ๋ณดํต์ ์ฅ์ ๋ฅผ ๋๋นํด์ Timeout์ ์ค์ ํ๊ฒ ๋๋๋ฐโฆ
โ Timeout ์ด ๊ธธ๋ฉด... ์ ์ฒด์ ์ธ ์๋น์ค๊ฐ ๊ณ์ ๋๋ ค์ง๊ฒ ๋จ.
โ ํด๋น ์ค๋ ๋/ํ๋ก์ธ์ค๊ฐ Timeout ๋์ ๋ค๋ฅธ ์์
์ ๋ชปํจ.
โ API ์ค์ ์ค์ํ์ง ์์ ์๋น์ค๋ค๋ ์์(๊ด๊ณ ๋ฅผ ๋ณด์ฌ์ค๋ค๊ฑฐ๋โฆ)
68. ๊ธฐ์กด์ ๋ฐฐํฌ๊ฐ ํ๋ ์ด์
โ ๋ฒ๊ทธ์ ์กด์ฌ
โ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋, ํด๋น ๋ฒ์๊ฐ ํด ์ ์๋ค.
โ ๋ฐฐํฌ์ ์๊ฐ์ด ๋๋ฌด ๋ง์ด ๊ฑธ๋ฆฐ๋ค.
โ ๋กค๋ฐฑ ์๊ฐ๋ ๋ฐฐํฌ์๊ฐ ๋งํผ ์ค๋๊ฑธ๋ฆฐ๋ค.
79. Blue/Green ์ผ๋งค ๋ฒ์ ๋ฐฐํฌ์ ๋ฌธ์ ์
โ ๊ฒฐ๊ตญ ๋ ๋ค ๋ฆฌ์์ค๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์์คํ
์ ์ฅ์ ๊ฐ ๋ฐ์ํ ์
์๋ค.
โ ํผํฌ ํ์์ ํผํด์ ๋ฐฐํฌํด์ผ ํ๋ค.
โ Graceful Shutdown ์ ๋์ด ์์ด์ผ ํ๋ค. (Router ์ ์ญํ ๋ ์ค์ํจ.)
80. Blue/Green ๋ฐฐํฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ณ๊ฒฝ
โ DB ์คํค๋ง ๋ณ๊ฒฝ์ ์ง์ฅ์ผ๋ก ๊ฐ๋ ์ง๋ฆ๊ธธโฆ
โ ์ต๋ํ ์ถ๊ฐ๋ง ํ๊ณ , ์ญ์ ์ ๋ณ๊ฒฝ์ ํ์ง ์๋๋ค.
โ ๋ช๋ฒ์ ๋ฐฐํฌ์ดํ ํ์คํ ์ฌ์ฉํ์ง ์๋๋ค๋ ๊ฒ์ด ํ์ธ๋ ๋
์ญ์ ๊ฐ๋ฅ.
โ ๋กค๋ฐฑ๋ณด๋ค๋ ๋นจ๋ฆฌ ๊ณ ์น๋ ๊ฑธ ์ถ์ฒ
โ Feature Flag๋ฅผ ํ์ฉํด๋ณด์.
84. Canary ๋ฐฐํฌ : ํ๋๋ง ๋ฐฐํฌํด์ ์ ๋๋ก ๋์ํ ๊น?
User #1์ด ๋ค์๋ฒ์
์์ฒญ์ ํ๊ฒ ๋๋ ์๋ฒ๋?
ํญ์ 4๋ฒ์ผ๋ก ๊ฐ๋ค๋ ๋ณด์ฅ์ด ์๋ค.
88. Feature Flag(Switch) ์ ์ฅ์
โ ํน์ ๊ธฐ๋ฅ์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋, ํด๋น ๊ธฐ๋ฅ์ ๊บผ๋ฒ๋ฆฌ๋ฉด ๋๋ค.
โ ๋กค๋ฐฑ ๋ฐฐํฌ๋ ํ์ ์์.
โ ๋ค๋ง ํน์ ๊ธฐ๋ฅ์ด ๋์ํ์ง ์๋๋ค๋ฉด, UI์์๋ ์ด๋ป๊ฒ ๋ณด์ฌ์ง์ง, ํ์
๊ฐ ํ์.
โ ํด๋ผ์ด์ธํธ ์์
์ด ํ์ํ ์ ์์.
โ ํด๋ผ์ด์ธํธ๋ ํน์ ๊ฐ์ด ์ค๋ ๊ฑธ๋ก ๊ฐ์ ํด๋ฒ๋ฆฌ๋ฉด... ๋ค ํจ๊ป
Crash!!!
89. ์์ฝ
โ ๋์ฉ๋ ์๋น์ค ์ค๊ณ๋
โ SPOF๋ฅผ ์ค์ด๊ณ ๊ฐ๋ฅํ ์ฅ๋น์ถ๊ฐ๋ก ์ธํ ์ ํ์ ์ธ ์ฑ๋ฅ ์ฆ๋๊ฐ ํ
์ํ๋ค.
โ ์ฌ๋ฌ๊ฐ์ง ์ํฉ์ ๋ง์ถ๊ธฐ ์ํด ์๋ํ๊ฐ ํ์(๋ฐฐํฌ/ํ
์คํธ)
โ ๋ช ๋ฐฑ๋ ์ด์์ ์๋ฒ๋ฅผ ๊ด๋ฆฌํด์ผ ํ๋ค.
โ ํญ์. ์ด๋ฌ๋ฉด ์๋ฐฑ๋ง๋ช
์ด ๋์์ ์จ๋ ๊ด์ฐฎ์๊น๋ฅผ ๋ฌผ์ด๋ณด์.