๐ง Netflixed
๋ฏธ๊ตญ ์ค๋ฆฌ์ฝ๋ฐธ๋ฆฌ์์ ๊ธฐ์กด ๋น์ฆ๋์ค ๋ชจ๋ธ์ด ๋ถ๊ดด๋์์ ๋๋ฅผ ์ผ์ปซ๋ ๋ง
โจ Netflix OpenSource Software
๊ธฐ์กด Legacy ์์คํ ์ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ MSA๋ก ์ ํํ๊ธฐ ์ํด ์ฌ์ฉํ ๊ธฐ์ ์ ๊ณต๊ฐํ ๊ฒ
๐ Netflix๋ MSA์ ์ ๊ตฌ์
๐งถ Eureka
Client์ Application server ์ฌ์ด์์ ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋ฐ ์ฅ์ ์กฐ์น๋ฅผ ์ํด AWS ํด๋ผ์ฐ๋์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ RESTful ์๋น์ค
- ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ MSA ์๋น์ค์
IP์port๋ ์ผ์ ํ์ง ์๊ณ ์ง์์ ์ผ๋ก ๋ณํ - Eureka๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์ฐ๊ฒฐ ์ ๋ณด ๋ฑ๋ก ๋ฐ ํด์ง๋ฅผ ๋์์ฃผ๋ ์ญํ
Eureka Server์Eureka Client๋ก ๊ตฌ์ฑ
๐ง Eureka Client
- ์๋น์ค๋ง๋ค
Eureka client์ค์น - Spring์์ annotation๋ง ์ถ๊ฐํ๋ฉด ์ฌ์ฉ ๊ฐ๋ฅ
- Eureka Client๋ ์ค์ค๋ก Eureka server์ ๋ฑ๋ก
- ์ฐ๊ฒฐ ์ ๋ณด
Meta Data๋ฅผ Eureka ์๋ฒ์ ๋ฑ๋ก
๐ง Eureka Server
- Eureka server๊ฐ
Registry์ Eureak client ๋ฑ๋ก - Registry์ Eureka client์ Meta data ๋ฑ๋ก
- Client์ ์ํ ํ์ธ
๐ง Registry
์๋น์ค์ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ๋ฑ๋กํ๋ ๊ฒ
๐ง Discovery
๋ค๋ฅธ ์๋น์ค์ ์ ๋ณด๋ฅผ ์ฐพ๋ ๊ฒ
๐ฎ Zuul
- API Gateway ๊ตฌํ์ฒด
- ๋ผ์ฐํ ์ญํ
- Endpoint ๊ด๋ฆฌ ํตํฉ
- Reverse proxy
- ์ธ์ฆ ๋ฐ ์ ๊ทผ ์ ์ด
๐ Hystrix
๋ถ์ฐ ์๋น์ค ๊ฐ์ ์ํธ ์์ฉ์ ์ ์ดํ๋ ๋ฐ ๋์์ ์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์ข ์์ฑ์ผ๋ก ์ธํ ์ง์ฐ ๋ฐ ์ฅ์ ๋ก๋ถํฐ ๋ณดํธํ๊ณ ์ ์ดํ๋ ๊ธฐ๋ฅ
- ์คํจ ์๋น์ค ์ก์ธ์ค ๊ฒฉ๋ฆฌ
- ๋น ๋ฅด๊ฒ ์คํจํ๊ณ ๋น ๋ฅด๊ฒ ๋ณต๊ตฌ ๊ฐ๋ฅ
- ์ค์๊ฐ์ ๊ฐ๊น์ด ๋ชจ๋ํฐ๋ง, ๊ฒฝ๊ณ ๋ฐ ์ด์ ์ ์ด ๊ฐ๋ฅ