๐Ÿ“š Study/Architecture

[MSA] MSA๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ๊ฐœ๋… ์ดํ•ดํ•˜๊ธฐ

kkh1902 2022. 10. 3. 11:24
728x90
๋ฐ˜์‘ํ˜•
๋ชฉ์ฐจ

1. MSA๋ž€?
2. MSA์˜ ๋“ฑ์žฅ๋ฐฐ๊ฒฝ
3. MSA์˜ ํŠน์ง•
4. MSA์˜ ์žฅ์ 
5. MSA์˜ ๋‹จ์ 

MSA? 

MicroService Architecture์˜ ์ค„์ž„๋ง

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

 

MSA์˜ ๋“ฑ์žฅ๋ฐฐ๊ฒฝ

 

MSA์™€ Monolithic์˜ ๋น„๊ต ์ถœ์ฒ˜ - https://kr.tmaxsoft.com/info/storyTView.do?seq=345

 

 

 Monolithic Architecture๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ํ•œ ํ”„๋กœ์ ํŠธ์— ํ†ตํ•ฉ๋˜์–ด ์žˆ๋Š” ํ˜•ํƒœ์ด๋‹ค. ์›น ๊ฐœ๋ฐœ์„ ์˜ˆ๋กœ ๋“ค๋ฉด ์›น ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“ˆ๋ณ„๋กœ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ , ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๋ฌผ๋กœ ํŒจํ‚ค์ง•ํ•˜์—ฌ ๋ฐฐํฌ๋˜๋Š” ํ˜•ํƒœ๋ฅผ ๋งํ•œ๋‹ค. ์ด๋Ÿฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ชจ๋†€๋ฆฌ์‹ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ ํ•˜๋ฉฐ, ์›น์˜ ๊ฒฝ์šฐ WARํŒŒ์ผ๋กœ ๋นŒ๋“œ๋˜์–ด WAS์— ๋ฐฐํฌํ•˜๋Š” ํ˜•ํƒœ๋ฅผ ๋งํ•œ๋‹ค. ์ฃผ๋กœ ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.

ํ•˜์ง€๋งŒ ์ผ์ • ๊ทœ๋ชจ ์ด์ƒ์˜ ์„œ๋น„์Šค, ํ˜น์€ ์ˆ˜๋ฐฑ๋ช… ์ด์ƒ์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ํˆฌ์ž…๋˜๋Š” ํ”„๋กœ์ ํŠธ์—์„œ Monolithic Architecture๋Š” ํ•œ๊ณ„๋ฅผ ๋ณด์ธ๋‹ค. 

  • ๋ถ€๋ถ„ ์žฅ์• ๊ฐ€ ์ „์ฒด ์„œ๋น„์Šค์˜ ์žฅ์• ๋กœ ํ™•๋Œ€๋  ์ˆ˜ ์žˆ๋‹ค. 
    • ๊ฐœ๋ฐœ์ž์˜ ์ž˜๋ชป๋œ ์ฝ”๋“œ ๋ฐฐํฌ ๋˜๋Š” ๊ฐ‘์ž‘์Šค๋Ÿฐ ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€๋กœ ์ธํ•ด ์„ฑ๋Šฅ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ, ์„œ๋น„์Šค ์ „์ฒด์˜ ์žฅ์• ๋กœ ํ™•๋Œ€๋  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ถ€๋ถ„์ ์ธ *Scale-out(์—ฌ๋Ÿฌ server๋กœ ๋‚˜๋ˆ„์–ด ์ผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹)์ด ์–ด๋ ต๋‹ค.
    • Monolithic Architecture์—์„œ๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ์„œ๋น„์Šค๊ฐ€ Scale-out๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋ถ„ Scale-out์ด ์–ด๋ ต๋‹ค.
  • ์„œ๋น„์Šค์˜ ๋ณ€๊ฒฝ์ด ์–ด๋ ต๊ณ , ์ˆ˜์ • ์‹œ ์žฅ์• ์˜ ์˜ํ–ฅ๋„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค. 
    • ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค์— ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์ •์— ๋Œ€ํ•œ ์˜ํ–ฅ๋„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค.
  • ๋ฐฐํฌ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค. 
    • ์ตœ๊ทผ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์€ CI/CD๋ฅผ ํ†ตํ•œ ๊ฐœ๋ฐœ๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€ ๋น ๋ฅด๊ฒŒ ๋ฐ˜์˜ํ•˜๋Š” ์ถ”์„ธ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง์— ๋”ฐ๋ผ ์ž‘์€ ๋ณ€๊ฒฝ์—๋„ ๋†’์€ ์ˆ˜์ค€์˜ ํ…Œ์ŠคํŠธ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•˜๋ฉฐ, ๋งŽ์€ ์‚ฌ๋žŒ์ด ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜์—ฌ ๋ฐฐํฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค.
  • ํ•œ Framework์™€ ์–ธ์–ด์— ์ข…์†์ ์ด๋‹ค.
    • Spring framework๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, blockchain ์—ฐ๋™ ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ํ•  ๋•Œ node.js๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋ฉฐ ๊ฐ•์„ธ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ java๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ชจ๋“ˆ์„ ์ž‘์„ฑํ•  ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ์„ ์ •ํ–ˆ๋˜ framework๊ฐ€ Spring์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด๋Ÿฌํ•œ Monolithic Architecture์˜ ๋ฌธ์ œ์ ๋“ค์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด MSA๊ฐ€ ๋“ฑ์žฅํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ธฐ์กด์˜ ํŠน์ •ํ•œ ๋ฌผ๋ฆฌ์ ์ธ ์„œ๋ฒ„์— ์„œ๋น„์Šค๋ฅผ ์˜ฌ๋ฆฌ๋˜ on-promise ์„œ๋ฒ„ ๊ธฐ๋ฐ˜์˜ Monolithic Architecture์—์„œ ์ด์ œ๋Š” ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” MicroService Architecture๋กœ ๋งŽ์€ ์„œ๋น„์Šค๋“ค์ด ์ „ํ™˜๋˜๊ณ  ์žˆ๋‹ค. 

 

MSA์˜ ํŠน์ง•

๐Ÿ‘‰๐Ÿป MSA๋Š” API๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋Š” ์„œ๋น„์Šค์˜ end-point(์ ‘๊ทผ์ )์„ API ํ˜•ํƒœ๋กœ ์™ธ๋ถ€์— ๋…ธ์ถœํ•˜๊ณ , ์‹ค์งˆ์ ์ธ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ๋ชจ๋‘ ์ถ”์ƒํ™”ํ•œ๋‹ค. ๋‚ด๋ถ€์˜ ๊ตฌํ˜„ ๋กœ์ง, ์•„ํ‚คํ…์ฒ˜์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ’ˆ์งˆ ์œ ์ง€ ์ฒด๊ณ„์™€ ๊ฐ™์€ ๊ธฐ์ˆ ์ ์ธ ์‚ฌํ•ญ๋“ค์€ ์„œ๋น„์Šค API์— ์˜ํ•ด ์ฒ ์ €ํ•˜๊ฒŒ ๊ฐ€๋ ค์ง„๋‹ค. 

๋”ฐ๋ผ์„œ *SOA(Service Oriented Architecture)์˜ ํŠน์ง•์„ ๋‹ค์ˆ˜ ๊ณตํ†ต์œผ๋กœ ๊ฐ€์ง„๋‹ค. 

๋”๋ณด๊ธฐ

*SOA - ๋Œ€๊ทœ๋ชจ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ๋•Œ์˜ ๊ฐœ๋…์œผ๋กœ, ์—…๋ฌด์ƒ ์ผ ์ฒ˜๋ฆฌ์— ํ•ด๋‹นํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ๋Šฅ์„ ์„œ๋น„์Šค๋กœ ํŒ๋‹จํ•˜๊ณ  ๊ทธ ์„œ๋น„์Šค๋ฅผ ๋„คํŠธ์›Œํฌ์ƒ์— ์—ฐ๋™ํ•˜์—ฌ ์‹œ์Šคํ…œ ์ „์ฒด๋ฅผ ๊ตฌ์ถ•ํ•ด ๊ฐ€๋Š” ๋ฐฉ๋ฒ•๋ก ์ด๋‹ค. ์—…๋ฌด ์ฒ˜๋ฆฌ ๋ณ€ํ™”๋ฅผ ์‹œ์Šคํ…œ์— ๋น ๋ฅด๊ฒŒ ๋ฐ˜์˜ํ•˜๊ณ ์ž ํ•˜๋Š” ์ˆ˜์š”์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด 2004๋…„๋ถ€ํ„ฐ IT ์—…๊ณ„์—์„œ ์ฃผ๋ชฉ ํ•˜๊ณ  ์žˆ๋‹ค.

  • ํ”Œ๋žซํผ์— ์ข…์†๋˜์ง€ ์•Š๋Š” ํ‘œ์ค€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๊ธฐ์—…์˜ ์—…๋ฌด๋ฅผ ํ‘œํ˜„ํ•œ '๋Š์Šจํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜๊ณ (Loosly coupled) ์ƒํ˜ธ ์กฐํ•ฉ ๊ฐ€๋Šฅํ•œ ์†Œํ”„ํŠธ์›จ์–ด'์ด๋‹ค. 
  • SOA์—์„œ๋Š” ๊ฐ๊ฐ์˜ ์„œ๋น„์Šค๊ฐ€ ๋ฐ์ดํ„ฐ ๊ณ„์ธต, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, ๋ทฐ์— ๋Œ€ํ•œ ๋ชจ๋“ˆ์„ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๊ฐ ์„œ๋น„์Šค ๊ฐ„์˜ ์˜์กด์„ฑ์ด ์ตœ์†Œํ™”๋œ๋‹ค.
  • SOA ์‹œ์Šคํ…œ์˜ ๊ทœ๋ชจ๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์„œ๋น„์Šค์˜ ์ค‘๋ณต์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ ๊ตฌํ˜„๋œ ์„œ๋น„์Šค๊ฐ€ ์žˆ๋Š”์ง€๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. 

SOA ์•„ํ‚คํ…์ฒ˜ ๋ชจ๋ธ ์ž์„ธํ•œ ๋‚ด์šฉ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ

  1. Fundamental SOA(ํ†ตํ•ฉ)
  2. Networked SOA(์œ ์—ฐ์„ฑ๊ณผ ํ†ต์ œ ์ถ”๊ฐ€)
  3. Process Oriented SOA(๋ฏผ์ฒฉ์„ฑ์˜ ์ถ”๊ฐ€)

 

 

์ œ๋Œ€๋กœ ์„ค๊ณ„ ๋œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ํ•˜๋‚˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋ฒ”์œ„์— ๋งž์ถฐ ๋งŒ๋“ค์–ด์ง€๋ฏ€๋กœ ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ๋งŒ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ฆ‰, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถœ์‹œ์ฒ˜๋Ÿผ ํ•˜๋‚˜์˜ ๋ชฉํ‘œ๋ฅผ ํ–ฅํ•ด ์ผํ•˜์ง€๋งŒ ์ž๊ธฐ๊ฐ€ ๊ฐœ๋ฐœํ•˜๋Š” ์„œ๋น„์Šค๋งŒ ์ฑ…์ž„์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ•ญ์ƒ ๊ธฐ์ˆ  ์ค‘๋ฆฝ์  ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ํ†ต์‹ ํ•˜๋ฏ€๋กœ ์„œ๋น„์Šค ๊ตฌํ˜„ ๊ธฐ์ˆ ๊ณผ๋Š” ๋ฌด๊ด€ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ธฐ๋ฐ˜์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์–‘ํ•œ ์–ธ์–ด์™€ ๊ธฐ์ˆ ๋กœ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 
๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” SOA์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ง‘์ค‘ํ™”๋œ ๊ด€๋ฆฌ ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ตฌํ˜„์ฒด์˜ ๊ณตํ†ต์ ์ธ ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋Š” ESB(Enterprise Service Bus)์™€ ๊ฐ™์€ ๋ฌด๊ฑฐ์šด ์ œํ’ˆ์— ์˜์กดํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด๋‹ค. REST ๋“ฑ ๊ฐ€๋ฒผ์šด ํ†ต์‹  ์•„ํ‚คํ…์ฒ˜, ๋˜๋Š” Kafka ๋“ฑ์„ ์ด์šฉํ•œ message stream์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. 

 

MSA์˜ ์žฅ์ 

๊ฐ๊ฐ์˜ ์„œ๋น„์Šค๋Š” ๋ชจ๋“ˆํ™”๊ฐ€ ๋˜์–ด์žˆ์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ๋ชจ๋“ˆ๊นŒ๋ฆฌ๋Š” RPC ๋˜๋Š” message-driven API๋“ฑ์„ ์ด์šฉํ•˜์—ฌ ํ†ต์‹ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ MSA๋Š” ๊ฐ๊ฐ ๊ฐœ๋ณ„์˜ ์„œ๋น„์Šค ๊ฐœ๋ฐœ์„ ๋น ๋ฅด๊ฒŒ ํ•˜๋ฉฐ, ์œ ์ง€๋ณด์ˆ˜๋„ ์‰ฝ๊ฒŒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. 
ํŒ€ ๋‹จ์œ„๋กœ ์ ์ ˆํ•œ ์ˆ˜์ค€์—์„œ ๊ธฐ์ˆ  ์Šคํƒ์„ ๋‹ค๋ฅด๊ฒŒ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ํšŒ์‚ฌ๊ฐ€ java์˜ spring ๊ธฐ๋ฐ˜์ด๋ผ๋„ MSA๋ฅผ ์ ์šฉํ•˜๋ฉด node.js๋กœ ๋ธ”๋ก์ฒด์ธ ๊ฐœ๋ฐœ ๋ชจ๋“ˆ์„ ์—ฐ๋™ํ•จ์— ๋ฌด๋ฆฌ๊ฐ€ ์—†๋‹ค. 
๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ์„œ๋น„์Šค๋ณ„๋กœ ๋…๋ฆฝ์  ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ง€์†์ ์ธ ๋ฐฐํฌ CD๋„ ๋ชจ๋†€๋กœ์‹์— ๋น„ํ•ด์„œ ๊ฐ€๋ณ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ๊ฐ๊ฐ ์„œ๋น„์Šค์˜ ๋ถ€ํ•˜์— ๋”ฐ๋ผ ๊ฐœ๋ณ„์ ์œผ๋กœ scale-out์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฉ”๋ชจ๋ฆฌ, CPU์ ์œผ๋กœ ์ƒ๋‹น๋ถ€๋ถ„ ์ด๋“์ด ๋œ๋‹ค.

 

MSA์˜ ๋‹จ์ 

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

 

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

์ด์ •๋ฆฌ

  • ์ผ๋ฐ˜์ ์ธ mvc ํŒจํ„ด์œผ๋กœ ํ–ˆ์„๋•Œ ์ž‘์€ ๊ทœ๋ชจ์˜ ํ”„๋กœ์ ํŠธ๋กœ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ํฐ ํ”„๋กœ์ ํŠธ๋‚˜ ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์„ ๋•Œ๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. msa๋ฅผ ํ™œ์šฉํ•ด์„œ ์„ค๊ณ„๋ฅผ ํ•˜๋ฉด ๋‹ค์–‘ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ ์–ธ์–ด๋ฅผ ์“ธ์ˆ˜ ์žˆ๊ณ  ๋ฐฐํฌ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€์•Š๋Š”๋‹ค.์ฆ‰ ๋‚˜๋ˆ„์–ด์ ธ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์žฅ์• ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ธฐ ๋”์šฑ ์‰ฝ๋‹ค.
728x90
๋ฐ˜์‘ํ˜•