MSA ๋ง์ด ์‰ฝ์ง€ ๐Ÿ’ฉ เผผ โ—‰_โ—‰ เผฝ

์œจ๋žดํœผ๋žดยท2025๋…„ 2์›” 11์ผ

MSA

๋ชฉ๋ก ๋ณด๊ธฐ
1/1

ํ‹ฐ์Šคํ† ๋ฆฌ๋งŒ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ๋ฒจ๋กœ๊ทธ ์ž‘์„ฑ์€ ์ฒ˜์Œ์ด๋‹ค ํ—ˆํ—ˆ

๊นจ์•Œํ™๋ณด โžธ ๋š๋”ฑ์ด ๊ณต๋Œ€์ƒ

์ฒซ ํฌ์ŠคํŒ… ์ฃผ์ œ๋ฅผ ๋ฌด์—‡์œผ๋กœ ํ•  ์ง€ ๊ณ ๋ฏผ์ด ๋งŽ์•˜๋Š”๋ฐ MSA ๋‹น์ฒจ ูฉ(เน‘โ€ขฬ€oโ€ขฬเน‘)ูˆ
MSA๋Š” ๋ง๋กœ๋งŒ ๋“ค์–ด๋ดค์ง€ ๋ฏธ๋ฃจ๊ณ  ๋ฏธ๋ฃจ๋‹ค๊ฐ€ ๋“œ๋””์–ด ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค..
๊ธฐ๋…์œผ๋กœ ์•ผ์‹ฌ์ฐจ๊ฒŒ MSA๋กœ ์‚ผํ–‰์‹œํ•˜๊ณ  ์‹œ์ž‘ํ•œ๋‹ค

M : ๋ญ”๊ฐ€ ์ข‹์•„ ๋ณด์˜€์–ด
S : ์„ธํŒ…ํ•˜๋‹ค ๋ณด๋‹ˆ
A : ์•„โ€ฆ ํ•˜์ง€๋ง๊นŒ


MSA, ๋ˆ„๊ตฌ๋ƒ ๋„Œ

์‰ฝ๊ฒŒ ๋งํ•ด ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ชผ๊ฐœ์„œ ๊ฐœ๋ฐœํ•œ ๊ฒŒ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ํ•œ ๋ญ‰ํ……์ด๋กœ ๊ฐœ๋ฐœํ•œ ๊ฒŒ ๋ชจ๋†€๋ฆฌ์Šค

์ถœ์ฒ˜ https://velog.io/@enoklenok


Microservices Architecture (MSA)

  • ๊ฐ ์„œ๋น„์Šค๋งˆ๋‹ค ๊ฐœ๋ฐœ, ๋ฐฐํฌ, ์œ ์ง€๋ณด์ˆ˜๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค
  • ์„œ๋น„์Šค ๊ฐ„์˜ ํ†ต์‹ ์€ ์ฃผ๋กœ HTTP/HTTPS, ๋ฉ”์‹œ์ง€ ํ ๋“ฑ์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง
  • ์—ฌ๋Ÿฌ ๊ธฐ์ˆ  ์Šคํƒ๋“ค์„ ์กฐํ•ฉํ•˜์—ฌ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹ , ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์œ ์ง€ ๋“ฑ์˜ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•˜๊ณ  ์„œ๋น„์Šค๋งˆ๋‹ค ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ด€๋ฆฌ๋˜๋ฏ€๋กœ ์šด์˜๋น„์šฉ์ด ์ฆ๊ฐ€ํ•œ๋‹ค

Monolithic Architecture

  • ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ํ•˜๋‚˜์˜ ์ฝ”๋“œ ๋ฒ ์ด์Šค์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค
  • ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์œ ์ง€๊ฐ€ ์‰ฌ์šด ๋ฐ˜๋ฉด ์ž‘์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋„ ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์˜ํ–ฅ์ด ๊ฐ„๋‹ค
  • ๋‹จ์ผ ๊ธฐ์ˆ  ์Šคํƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ธฐ์ˆ  ๋„์ž…์ด ์–ด๋ ต๋‹ค

๋‹ค์–‘์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์ƒ๊ฐํ•˜๋ฉด MSA๊ฐ€ ์ข‹์ง€๋งŒ ๋„ˆ๋ฌด ๋ณต์žกํ•˜๋‹ค.. ๋ญ๋ถ€ํ„ฐ ํ•ด์•ผํ•˜๋Š”๊ฑฐ์•ผ..

๊ทธ๋Ÿด ๋• ๋ฐ”๋กœ โญ โญ โญ Spring Cloud โญ โญ โญ



Spring Cloud๋ž€

์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋ฐ˜์—์„œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜(MSA)๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•˜๊ณ  ์šด์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์™ธ๋ถ€ ๊ธฐ์ˆ ๋“ค์„ ์Šคํ”„๋ง๊ณผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์—ฐ๋™ํ•ด์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ
์Šคํ”„๋ง ํด๋ผ์šฐ๋“œ๊ฐ€ ์ง์ ‘ ๊ธฐ๋Šฅ์„ ์ „๋ถ€ ๋งŒ๋“  ๊ฒŒ ์•„๋‹ˆ๊ณ  Eureka, Consul, Zookeeper, Zipkin ๊ฐ™์€ ์˜คํ”ˆ์†Œ์Šค๋“ค์„ ๊ฐ€์ ธ์™€์„œ ์Šคํ”„๋ง ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ๋ž˜ํ•‘ํ•œ ๊ฒƒ

[ Spring Cloud๊ฐ€ ์ง€์›ํ•˜๋Š” MSA ๋„๊ตฌ๋“ค ]

  • ์„œ๋น„์Šค ๋“ฑ๋ก ๋ฐ ๋””์Šค์ปค๋ฒ„๋ฆฌ: Eureka, Consul, Zookeeper
  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ: Ribbon, Spring Cloud LoadBalancer
  • ์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค: Hystrix, Resilience4j
  • API ๊ฒŒ์ดํŠธ์›จ์ด: Zuul, Spring Cloud Gateway
  • ๊ตฌ์„ฑ ๊ด€๋ฆฌ: Spring Cloud Config
  • ๋ถ„์‚ฐ ์ถ”์ : Spring Cloud Sleuth, Zipkin
  • ๋ฉ”์‹œ์ง•: Spring Cloud Stream

Spring Cloud๋ฅผ ์ ์šฉํ•œ ๋Œ€ํ‘œ์ ์ธ MSA ์„œ๋น„์Šค

๋„ทํ”Œ๋ฆญ์Šค, ์•„๋งˆ์กด, ์šฐ๋ฒ„, ๋ฐฐ๋ฏผ, ์ฟ ํŒก, ์นด์นด์˜ค, ๋„ค์ด๋ฒ„, ๋“ฑ๋“ฑ


๊ฒฐ๋ก 

MSA ์ž˜๋งŒ ํ™œ์šฉํ•˜๋ฉด ์บก ์ข‹๋‹ค!!

  • ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€์— ์œ ์—ฐ
  • ๊ฐœ๋ณ„ ์„œ๋น„์Šค๋ผ์„œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ๋ณต๊ตฌ ๊ฐ€๋Šฅ
  • ๋น ๋ฅธ ๋ฐฐํฌ ๊ฐ€๋Šฅ
  • ์„œ๋น„์Šค๋ณ„ ํŠน์ง•์— ๋งž์ถฐ ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ์ˆ  ์Šคํƒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

MSA ์‹œ๋ฆฌ์ฆˆ๋Š” ๊ณ„์† ๋ฉ๋‹ˆ๋‹ค..

0๊ฐœ์˜ ๋Œ“๊ธ€