Skip to content

Latest commit

ย 

History

History
63 lines (54 loc) ยท 4.77 KB

msa.md

File metadata and controls

63 lines (54 loc) ยท 4.77 KB

MSA(Micro Service Architecture)

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

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

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

  • ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด ๋‹จ์ผ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋‚˜๋ˆ„์–ด ์„œ๋น„์Šค ํ•˜๋Š” ๊ฒƒ.

๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์˜ ๊ฐœ๋…

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

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

๋ชจ๋†€๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜

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

๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜

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

์„œ๋น„์Šค ์ง€ํ–ฅ ์•„ํ‚คํ…์ฒ˜(SOA, Service Oriented Architecture)

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

๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์™€ ์„œ๋น„์Šค ์ง€ํ–ฅ ์•„ํ‚คํ…์ฒ˜์˜ ์ฐจ์ด์ 

๊ณตํ†ต์ 

  • ๋น„์ฆˆ๋‹ˆ์Šค ๋ณ€ํ™” ๋Œ€์‘์„ ์œ„ํ•œ ์„œ๋น„์Šค ์ค‘์‹ฌ์˜ ์•„ํ‚คํ…์ฒ˜
  • ๊ธฐ๋Šฅ ์ค‘์‹ฌ์˜ ๋ชจ๋“ˆ ์žฌ์‚ฌ์šฉ๋ณด๋‹ค ์ƒ์œ„ ์ˆ˜์ค€์˜ ์„œ๋น„์Šค ์ˆ˜์ค€์—์„œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ ์ดˆ์ 

  • SOA : ๋น„์ฆˆ๋‹ˆ์Šค ์ธก๋ฉด์—์„œ์˜ ์„œ๋น„์Šค ์žฌ์‚ฌ์šฉ์„ฑ ๊ฐ•์กฐ
    • ๋งŽ์€ ์„œ๋น„์Šค์˜ ๊ณต์œ ๋ฅผ ์œ„ํ•ด ESB(Enterprise Service Bus) ์„œ๋น„์Šค ์ฑ„๋„์—์„œ ์„œ๋น„์Šค๋ฅผ ๊ณต์œ , ์žฌ์‚ฌ์šฉ
  • MSA : ํ•œ๊ฐ€์ง€ ์ž‘์€ ์„œ๋น„์Šค์— ์ง‘์ค‘
    • ์„œ๋น„์Šค๋ฅผ ๊ณต์œ ํ•˜์ง€ ์•Š๊ณ  ๋…๋ฆฝ๋˜์–ด ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์ง€ํ–ฅํ•จ

์ฐจ์ด์ 

  • ์„œ๋น„์Šค์˜ ์ƒ๋Œ€์  ํฌ๊ธฐ์™€ ๊ด€์‹ฌ์‚ฌ, ์˜ค๋„ˆ์‹ญ, ๊ธฐ์ˆ  ๊ตฌ์กฐ
  1. ์„œ๋น„์Šค์˜ ์ƒ๋Œ€์  ํฌ๊ธฐ์™€ ๊ด€์‹ฌ์‚ฌ
    • SOA : ๋น„์ฆˆ๋‹ˆ์Šค์— ์ง‘์ค‘
    • MSA : ์ž‘์€ ์„œ๋น„์Šค ํ•˜๋‚˜์— ์ง‘์ค‘.
  2. ์„œ๋น„์Šค ์˜ค๋„ˆ์‹ญ ์ธก๋ฉด
    • SOA : ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค์˜ ํ๋ฆ„์„ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—…๋ฌด, ๊ณตํ†ต ๊ธฐ๋Šฅ ๊ฐœ๋ฐœํŒ€, ๊ฐœ๋ฐœํŒ€ ๊ฐ„ ์ƒํ˜ธ ํ˜‘์—…์ด ํ•„์ˆ˜
    • MSA : ํ•˜๋‚˜์˜ ์ž‘์€ ํŒ€์—์„œ ๊ด€๋ฆฌ, ๊ฐœ๋ฐœ-์šด์˜-์˜ค๋„ˆ์‹ญ, ๊ถŒํ•œ๊นŒ์ง€ ๊ด€๋ฆฌ
  3. ์„œ๋น„์Šค ๊ณต์œ  ์ •๋„์˜ ์ฐจ์ด
    • SOA : ๋˜๋„๋ก ๋งŽ์€ ์„œ๋น„์Šค ๊ณต์œ  ์ง€ํ–ฅ > ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์—ฌ ๋น„์šฉ์„ ์ ˆ๊ฐํ•˜๊ณ  ํ’ˆ์งˆ์„ ๋†’์ด๋Š”๋ฐ ์ดˆ์ 
    • MSA : ๊ณต์œ  ์ตœ์†Œํ™” ์ง€ํ–ฅ > ์„œ๋น„์Šค๊ฐ„ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”์–ด ๋ณ€ํ™”์— ๋Šฅ๋™์ ์œผ๋กœ ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•œ ๋ฏผ์ฒฉ์„ฑ์— ์ดˆ์ 
  4. ๊ธฐ์ˆ  ๋ฐฉ์‹์˜ ์ฐจ์ด
    • SOA : ๊ณตํ†ต์˜ ์„œ๋น„์Šค๋ฅผ EBS๋ผ๋Š” ๊ณตํ†ต ์ฑ„๋„์— ๋ชจ์•„ ์‚ฌ์—… ์ธก๋ฉด์—์„œ ๊ณตํ†ต ์„œ๋น„์Šค ํ˜•์‹์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต
    • MSA : ๊ฐ๊ฐ ๋…๋ฆฝ๋œ ์„œ๋น„์Šค๊ฐ€ ํ•„์š”์— ๋”ฐ๋ผ ๋…ธ์ถœ๋œ REST API๋ฅผ ์‚ฌ์šฉ