[MSA] chapter 1.5~1.6_Monolithic vs Microservice

Updated:

Categories:

Tags: ,

๐Ÿ“Œ ๊ฐœ์ธ์ ์ธ ๊ณต๊ฐ„์œผ๋กœ ๊ณต๋ถ€๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๋ณต์Šตํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
์ •ํ™•ํ•˜์ง€ ์•Š์€ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ๋ฐ”๋ž๋‹ˆ๋‹ค :๐Ÿ˜ธ
[ํ‹€๋ฆฐ ๋‚ด์šฉ์€ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๋ณต๋ฐ›์œผ์‹ค๊ฑฐ์—์š”]

์ธํ”„๋Ÿฐ Dowon Lee๋‹˜์˜ Spring Cloud๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(MSA) ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์ •๋ฆฌํ•œ ํ•„๊ธฐ์ž…๋‹ˆ๋‹ค.๐Ÿ˜Š
Spring Cloud๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(MSA) ๊ฐ•์˜ ๋“ค์œผ๋Ÿฌ ๊ฐ€๊ธฐ๐Ÿ‘ฉโ€๐Ÿซ

๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜ vs. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜

์„œ๋น„์Šค ์ง€ํ–ฅ ์•„ํ‚คํ…์ฒ˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

๊ธฐ์กด ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœํ–ˆ๋˜ ๋ฐฉ๋ฒ•์€ ํ”„๋ก ํŠธ์™€ ๋ฐฑ์„ ๋ถ„๋ฆฌํ•ด์„œ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋†€๋ฆฌ์‹๊ณผ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ์ค‘๊ฐ„ ์ •๋„๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

1. ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜ (Monolithic Architecture)

ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ•„์š”ํ•œ ๋ชจ๋“  ์š”์†Œ๋ฅผ ํ•˜๋‚˜์˜ ํฐ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋ฌถ์–ด ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ์‹

  • DB ๋กœ์ง, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, ํ”„๋ก ํŠธ์—”๋“œ๊นŒ์ง€ ๋ชจ๋‘ ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์œ ๊ธฐ์ ์œผ๋กœ ๊ฒฐํ•ฉ๋œ๋‹ค.
  • ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ์„œ๋กœ ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ์–ด ์ผ๋ถ€๋ฅผ ์ˆ˜์ •ํ•˜๋”๋ผ๋„ ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ณ  ๋ฐฐํฌํ•ด์•ผ ํ•œ๋‹ค.
  • ์ด์ฒ˜๋Ÿผ ๊ฐ•ํ•œ ๊ฒฐํ•ฉ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ™•์žฅ๊ณผ ์œ ์ง€๋ณด์ˆ˜์— ์ œ์•ฝ์„ ์ฃผ๋ฉฐ, ์„œ๋น„์Šค ์ค‘๋‹จ์ด๋‚˜ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

2. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ (Microservice Architecture)

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ ์„œ๋น„์Šค๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ์‹

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

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ์ฃผ์š” ํŠน์ง•

  • ์ž‘์€ ๋…๋ฆฝ ์„œ๋น„์Šค: Sam Newman์€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์ž‘๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ์„œ๋น„์Šค๋“ค์˜ ๋ชจ์Œ์œผ๋กœ ์ •์˜ํ–ˆ๋‹ค.
  • ์ค‘์•™ ์ง‘์ค‘ ๊ด€๋ฆฌ ์ตœ์†Œํ™”: ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ๋Š” ์ค‘์•™ ์ง‘์ค‘์‹ ๊ด€๋ฆฌ๊ฐ€ ์ตœ์†Œํ™”๋˜์–ด์•ผ ํ•˜๊ณ , ์„œ๋น„์Šค๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์„ค๋ช…ํ–ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜๋Š” ํด๋ฆฌ๊ธ€๋ž ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋ผ ๋ถˆ๋ฆฌ๋ฉฐ, ๊ฐ ์„œ๋น„์Šค์— ์ตœ์ ํ™”๋œ ์–ธ์–ด์™€ ์Šคํ† ๋ฆฌ์ง€ ๊ธฐ์ˆ ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ๋ชจ๋†€๋ฆฌ์‹ vs. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: ๋„์ž… ๊ณ ๋ ค์‚ฌํ•ญ

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋„์ž…ํ•  ๋•Œ ๊ณ ๋ ค์‚ฌํ•ญ!

  1. ๋ณ€ํ™” ์ˆ˜์šฉ ๋Šฅ๋ ฅ: ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋Œ€๋น„ ๋น„์šฉ๊ณผ ์‹œ๊ฐ„์ด ๋” ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์žฅ๊ธฐ์ ์ธ ์œ ์—ฐ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์˜ ์ด์ ์„ ์ถฉ๋ถ„ํžˆ ํ‰๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.
  2. ๋…๋ฆฝ ๋ผ์ดํ”„์‚ฌ์ดํด: ๊ฐ ์„œ๋น„์Šค๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์šด์˜๋  ์ˆ˜ ์žˆ๋„๋ก, ์„œ๋น„์Šค ๊ฐ„ ๊ฒฝ๊ณ„๋ฅผ ๋ช…ํ™•ํžˆ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.
  3. ํ™•์žฅ์„ฑ: ๊ฐœ๋ณ„ ์„œ๋น„์Šค๋งˆ๋‹ค ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ์Šค์ผ€์ผ๋ง์ด ์šฉ์ดํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–์ถฐ์•ผ ํ•œ๋‹ค.
  4. ์˜ค๋ฅ˜ ๊ฒฉ๋ฆฌ: ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋„๋ก ํ•˜๊ณ , ํ•ด๋‹น ์„œ๋น„์Šค๋งŒ ์˜ํ–ฅ์„ ๋ฐ›๋„๋ก ์„ค๊ณ„๋˜์–ด์•ผ ํ•œ๋‹ค.
  5. ์™ธ๋ถ€ ์ข…์†์„ฑ ์ตœ์†Œํ™”: ๊ฐ ์„œ๋น„์Šค ๊ฐ„ ์ข…์†์„ฑ์„ ์ค„์ด๊ณ  ๋†’์€ ์‘์ง‘๋ ฅ์„ ๊ฐ–์ถœ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  6. ํด๋ฆฌ๊ธ€๋ž ์ง€์›: ๋‹ค์–‘ํ•œ ์–ธ์–ด์™€ ์Šคํ† ๋ฆฌ์ง€ ๊ธฐ์ˆ ์„ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์š”์•ฝ!

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






MSA ์นดํ…Œ๊ณ ๋ฆฌ ๋‚ด ๋‹ค๋ฅธ ๊ธ€ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ

Leave a comment