๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ›๏ธ Architecture

๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ [Micro Service Architecture]

by GroovyArea 2022. 5. 27.
ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์ด๋‹ค.
ํ”„๋กœ์ ํŠธ์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ ์ˆ˜๋ก ๊ณ„์ธต ๊ฐ„ DTO ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•˜๋Š” ์ผ์ด ๋งŽ์•„์กŒ๋‹ค. ๋ถˆ๋ณ€ ๊ฐ์ฒด๋ฅผ ์ ์ ˆํžˆ ์„ค๊ณ„ํ•ด์•ผ ํ•  ํ•„์š”๋ฅผ ๋А๋ผ๋ฉฐ ์ตœ๋Œ€ํ•œ ํด๋ž˜์Šค ์„ค๊ณ„๋ฅผ ์ž˜ํ–ˆ๋‹ค.
๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›๋˜ ์ค‘ MAS ์•„ํ‚คํ…์ณ์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๊ด€๋ จ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์ง€๋งŒ ํ•œ๋ฒˆ ๊ฐœ๋…์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๊ณ  ์ˆ˜์ •์„ ํ•ด๋ณผ ์ƒ๊ฐ์ด๋‹ค.

 

๋ณดํŽธ์ ์ธ ์•„ํ‚คํ…์ฒ˜

 

๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ณ (Monolithic Architecture)

์šฐ๋ฆฌ๊ฐ€ ๋งŽ์ด ๋ณด์•„์˜จ ํ˜•ํƒœ์ด๋‹ค!

์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉ๋˜์–ด ์žˆ๋Š” ํ˜•ํƒœ

์ฃผ๋กœ ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ ๊ฒฝ์šฐ ํ•œ๊ณ„๊ฐ€ ๋“œ๋Ÿฌ๋‚จ

 

์žฅ์ 

  • ๋‹จ์ˆœํ•œ ์•„ํ‚คํ…์ฒ˜๋กœ ๊ฐœ๋ฐœ์ด ์‰ฝ๋‹ค
  • ๋ณต์žกํ•˜์ง€ ์•Š๊ณ , ๋ฐฐํฌ๊ฐ€ ๊ฐ„๋‹จํ•˜๋‹ค
  • ํ™•์žฅ์„ฑ์ด ์‰ฝ๋‹ค
  • ๊ณ ๊ฐ€์šฉ์„ฑ ์„œ๋ฒ„๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค

 

๋‹จ์ 

  • Scale out์ด ์–ด๋ ต๋‹ค
  • ์„œ๋น„์Šค์˜ ๋ณ€๊ฒฝ์ด ์–ด๋ ต๊ณ  ์ˆ˜์ •์— ๋Œ€ํ•œ ์˜ํ–ฅ ํŒŒ์•…์ด ์–ด๋ ต๋‹ค
  • ๋ฐฐํฌ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค
  • ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์–ธ์–ด์— ์ข…์†์ ์ด๋‹ค

 

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

ํ•˜๋‚˜์˜ ํฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ชผ๊ฐœ์–ด ๋ณ€๊ฒฝ๊ณผ ์กฐํ•ฉ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“  ์•„ํ‚คํ…์ฒ˜์ด๋‹ค

 

ํŠน์ง•

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

์žฅ์ 

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

 

๋‹จ์ 

  • ์„œ๋น„์Šค ๊ฐ„ ํ˜ธ์ถœ ์‹œ API๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํ†ต์‹  ๋น„์šฉ ์ฆ๊ฐ€ ๋ฐ ์ง€์—ฐ ์‹œ๊ฐ„ ์ฆ๊ฐ€
  • ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ์กฐํšŒํ•˜๊ธฐ ์–ด๋ ต๊ณ , ์ •ํ•ฉ์„ฑ ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๋‹ค
  • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ์— ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค
  • ํŠธ๋žœ์žญ์…˜์„ ๊ตฌํ˜„ํ•˜๊ธฐ ๊นŒ๋‹ค๋กญ๋‹ค
  • ์•„ํ‚คํ…์ฒ˜์˜ ๋ณต์žก์„ฑ์œผ๋กœ ๊ฐœ๋ฐœ ๋ฐ ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๊ณ  ์œ ์ง€ ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค

 

MSA  ํ™˜๊ฒฝ์—์„œ ๋‚ด API์˜ ๋™์ž‘

์—Š๊ทธ์ œ ์ด๋ฉ”์ผ ์ธ์ฆ๋ฒˆํ˜ธ ์ „์†ก ๋ฐ ๊ฒ€์ฆ API๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ฆด ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด ๋น„๋™๊ธฐ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•ด ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ–ˆ๋‹ค.

๋‚˜์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๋ ˆ์ด์–ด ์•„ํ‚คํ…์ฒ˜์ด๋‹ค ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜์ด๋‹ค. 

๊ทผ๋ฐ MSA ํ™˜๊ฒฝ์—์„œ๋Š” ์–ด๋–ค ์‹์œผ๋กœ ๋™์ž‘ํ• ๊นŒ?

 

์šฐ์„  ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋ฌธ์ œ๊ฐ€ ๊ฐ€์žฅ ํฐ ์ด์Šˆ์ผ ๊ฒƒ ๊ฐ™๋‹ค.

๋ฉ”์ผ์„ ๋ณด๋‚ด๊ณ  ๋‚˜์„œ redis์— ์ธ์ฆ ๋ฒˆํ˜ธ์™€ ์ด๋ฉ”์ผ์„ ์ €์žฅํ•˜๋Š”๋ฐ msa ํ™˜๊ฒฝ์—์„œ๋Š” DB๋„ ์Šคํ‚ค๋งˆ ๋ณ„๋กœ ๋‚˜๋‰˜๋ฏ€๋กœ ์ •ํ•ฉ์„ฑ์„ ์ง€ํ‚ค๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™๋‹ค. 

1. ์ผ๋ฐ˜ DBMS์— ์ €์žฅ์„ ํ•ด์•ผ ํ•˜๋Š”์ง€

2. ๋ทฐ๋ฅผ ์ƒ์„ฑํ•ด API ๋ณ„๋กœ ๊ณต์œ ๋ฅผ ํ•˜๋˜์ง€

=> ๋ทฐ๋Š” ํ•˜๋‚˜์˜ ์œ ์ € ํ…Œ์ด๋ธ”์ด ๋ทฐ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

 

์ด๋Ÿฐ ์‹์œผ๋กœ ์ •ํ•ฉ์„ฑ ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. 

 

์ฐธ์กฐ : https://velog.io/@yangsijun528/%EB%AC%B4%EA%B2%B0%EC%84%B1%EA%B3%BC-%EC%A0%95%ED%95%A9%EC%84%B1%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80#%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%AC%B4%EA%B2%B0%EC%84%B1data-integrity

 

๋ฌด๊ฒฐ์„ฑ๊ณผ ์ •ํ•ฉ์„ฑ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ๊ณผ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์„ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค.

velog.io

์ฐธ์กฐ : https://s-core.co.kr/insight/view/msa-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EA%B4%80%EB%A6%AC%EB%A5%BC-%EC%9C%84%ED%95%9C-%ED%95%84%EC%88%98-%EC%82%AC%ED%95%AD-%EA%B3%A0%EA%B0%80%EC%9A%A9%EC%84%B1%EA%B3%BC/

 

์—์Šค์ฝ”์–ด

์—์Šค์ฝ”์–ด๋Š” ๋””์ง€ํ„ธ ํ˜์‹ ์„ ์œ„ํ•œ ๊ณ ๊ธ‰ ํ”„๋กœํŽ˜์…”๋„ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋งค๋‹ˆ์ง€๋จผํŠธ ์ปจ์„คํŒ…๊ณผ ์†Œํ”„ํŠธ์›จ์–ด ํ…Œํฌ๋†€๋กœ์ง€ ์„œ๋น„์Šค ์˜คํผ๋ง์„ ์‚ดํŽด๋ณด์„ธ์š”.

s-core.co.kr

 

๋ฐ˜์‘ํ˜•