Wannab Architecture - nhnacademy-be10-WannaB/wannab-wiki GitHub Wiki

ํ˜„์žฌ ์„ค๊ณ„๋œ ์•„ํ‚คํ…์ณ ๊ตฌ์กฐ๋„

Architecture

  • ์ดˆ์•ˆ์ด๊ณ  MSA ์ฒซ ๋„์ „์ด๋ผ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฐ•, ์ง€์ , ํƒœํด, ํ›ˆ์ˆ˜ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

๊ณ ๋ฏผํ–ˆ๋˜ ๋‚ด์šฉ

SPOF

  • MSA ๊ตฌ์กฐ ๊ณต๋ถ€ ์ค‘, ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ๋‚ด์šฉ์€ SPOF(๋‹จ์ผ ์žฅ์•  ์ง€์ )์ด ์—†๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌผ๋ก , ๋ฐฐ์ •๋ฐ›์€ ์„œ๋ฒ„์™€ ์š”๊ตฌ์‚ฌํ•ญ์˜ ๊ธฐ๋Šฅ์„ ์ถฉ์กฑํ•ด์•ผํ•˜์ง€๋งŒ ์ตœ๋Œ€ํ•œ ์ด๋ฅผ ๋งŒ์กฑํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.
  • Service Discovery ํŒจํ„ด๊ณผ Gateway ํŒจํ„ด์„ ์ ์šฉํ•œ ๊ตฌ์กฐ์—์„œ Eureka Client๋“ค์„ ๊ด€๋ฆฌํ•˜๋Š” Eureka Server์™€ Gateway๊ฐ€ 1๊ฐœ๋งŒ ์šด์˜๋  ๊ฒฝ์šฐ ๊ฐ๊ฐ SPOF๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์œ ๋ ˆ์นด ์„œ๋ฒ„๋Š” peer1 ๊ณผ peer2 ๋กœ ์ด 2๋Œ€์˜ ์„œ๋ฒ„๋ฅผ clustered ํ•˜์—ฌ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
      • ์ด๋ฅผ ํ†ตํ•ด ์œ ๋ ˆ์นด ์„œ๋ฒ„๋Š” SPOF๋ฅผ ๊ทน๋ณตํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ˜„์žฌ๋Š” Spring Cloud Gateway์— ๋Œ€ํ•œ ํ•™์Šต์ด ๋ถ€์กฑํ•˜์—ฌ ์–ด๋–ป๊ฒŒ SPOF๋ฅผ ๊ทน๋ณตํ• ์ง€ ๊ณ ๋ฏผ์ค‘์ž…๋‹ˆ๋‹ค.

๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ์ „๋žต

  • ์œ ๋ ˆ์นด ์„œ๋ฒ„ ๋‘๋Œ€๋Š” ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๋ฅผ ๋กค๋ง ๋ฐฉ์‹์œผ๋กœ ์ฑ„ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.
    • ์ด๋ฏธ 2๋Œ€๊ฐ€ ์šด์˜๋˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์„œ๋ฒ„์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ๋œ ์‚ฌ์šฉํ•˜๋Š” ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ์ „๋žต์œผ๋กœ ์ฑ„ํƒํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ด๋•Œ, peer1์ด ์žฌ๋ฐฐํฌ ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” peer2์˜ Health๋ฅผ checkํ•œ ํ›„ ์•ˆ์ •์ ์ผ๋•Œ๋งŒ ์ง„ํ–‰ํ•˜๋„๋ก ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. (๋‹น์—ฐํžˆ, ๊ทธ ์—ญ๋„ ๊ฐ™์Šต๋‹ˆ๋‹ค)
  • ๊ทธ ์™ธ์˜ ํƒ€ ์„œ๋น„์Šค๋“ค์€ ์ „๋ถ€ ๋ธ”๋ฃจ-๊ทธ๋ฆฐ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ์ „๋žต์„ ์ฑ„ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ฐ ์„œ๋น„์Šค์—๊ฒŒ ํ• ๋‹นํ•œ ํฌํŠธ ๋ฒˆํ˜ธ

์„œ๋น„์Šค๋ช… ์ธ์Šคํ„ด์Šค ํฌํŠธ ๋ฒˆํ˜ธ
Eureka peer1 10380
  peer2 10381
Gateway green 10382
  blue 10383
Front green 10384
  blue 10385
์œ ์ € green 10386
  blue 10387
์ฟ ํฐ green 10388
  blue 10389
๋„์„œ green 10390
  blue 10391
์ฃผ๋ฌธ/๊ฒฐ์ œ green 10392
  blue 10393