Home Netflixed
Post
Cancel

Netflixed

๐Ÿง 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

๋ถ„์‚ฐ ์„œ๋น„์Šค ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์ œ์–ดํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • ์ข…์†์„ฑ์œผ๋กœ ์ธํ•œ ์ง€์—ฐ ๋ฐ ์žฅ์• ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ณ  ์ œ์–ดํ•˜๋Š” ๊ธฐ๋Šฅ
  • ์‹คํŒจ ์„œ๋น„์Šค ์•ก์„ธ์Šค ๊ฒฉ๋ฆฌ
  • ๋น ๋ฅด๊ฒŒ ์‹คํŒจํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๋ณต๊ตฌ ๊ฐ€๋Šฅ
  • ์‹ค์‹œ๊ฐ„์— ๊ฐ€๊นŒ์šด ๋ชจ๋‹ˆํ„ฐ๋ง, ๊ฒฝ๊ณ  ๋ฐ ์šด์˜ ์ œ์–ด ๊ฐ€๋Šฅ



์ถœ์ฒ˜

This post is licensed under CC BY 4.0 by the author.

Micro Service Architecture

Transaction