ํ๋ก์ ํธ๋ฅผ ์งํ ์ค์ด๋ค.
ํ๋ก์ ํธ์ ๊ท๋ชจ๊ฐ ์ปค์ง ์๋ก ๊ณ์ธต ๊ฐ DTO ๊ฐ์ฒด๋ฅผ ์ด์ฉํ๋ ์ผ์ด ๋ง์์ก๋ค. ๋ถ๋ณ ๊ฐ์ฒด๋ฅผ ์ ์ ํ ์ค๊ณํด์ผ ํ ํ์๋ฅผ ๋๋ผ๋ฉฐ ์ต๋ํ ํด๋์ค ์ค๊ณ๋ฅผ ์ํ๋ค.
๋ฆฌ๋ทฐ๋ฅผ ๋ฐ๋ ์ค MAS ์ํคํ ์ณ์ ๋ํด ์๊ฒ ๋์๋ค. ๋ฐ์ดํฐ ์ ํฉ์ฑ ๊ด๋ จ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์์ง๋ง ํ๋ฒ ๊ฐ๋ ์ ๋ํด ์ ๋ฆฌํด๋ณด๊ณ ์์ ์ ํด๋ณผ ์๊ฐ์ด๋ค.
๋ณดํธ์ ์ธ ์ํคํ ์ฒ
๋ชจ๋๋ฆฌ์ ์ํคํ ์ณ (Monolithic Architecture)
์ฐ๋ฆฌ๊ฐ ๋ง์ด ๋ณด์์จ ํํ์ด๋ค!
์ํํธ์จ์ด์ ๋ชจ๋ ๊ตฌ์ฑ ์์๊ฐ ํ๋๋ก ํตํฉ๋์ด ์๋ ํํ
์ฃผ๋ก ์๊ท๋ชจ ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ค. ๊ท๋ชจ๊ฐ ์ปค์ง ๊ฒฝ์ฐ ํ๊ณ๊ฐ ๋๋ฌ๋จ
์ฅ์
- ๋จ์ํ ์ํคํ ์ฒ๋ก ๊ฐ๋ฐ์ด ์ฝ๋ค
- ๋ณต์กํ์ง ์๊ณ , ๋ฐฐํฌ๊ฐ ๊ฐ๋จํ๋ค
- ํ์ฅ์ฑ์ด ์ฝ๋ค
- ๊ณ ๊ฐ์ฉ์ฑ ์๋ฒ๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค
๋จ์
- Scale out์ด ์ด๋ ต๋ค
- ์๋น์ค์ ๋ณ๊ฒฝ์ด ์ด๋ ต๊ณ ์์ ์ ๋ํ ์ํฅ ํ์ ์ด ์ด๋ ต๋ค
- ๋ฐฐํฌ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค
- ํ๋ ์์ํฌ์ ์ธ์ด์ ์ข ์์ ์ด๋ค
๋ง์ดํฌ๋ก ์๋น์ค ์ํคํ ์ฒ (Micro Service Architecture)
ํ๋์ ํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ชผ๊ฐ์ด ๋ณ๊ฒฝ๊ณผ ์กฐํฉ์ด ๊ฐ๋ฅํ๋๋ก ๋ง๋ ์ํคํ ์ฒ์ด๋ค
ํน์ง
- ์๋น์ค ํ๋๋ง๋ค ๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ์ ์ ์ฌํ ๊ตฌ์กฐ๋ฅผ ์ง๋
- ์๋น์ค๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํด์ผ ํจ
- ๋ค๋ฅธ ์๋น์ค์ ๋ํ ์์กด์ฑ์ด ์๋ค
- ๊ฐ ์๋น์ค๋ ๊ฐ๋ณ ํ๋ก์ธ์ค๋ก ๊ตฌ๋๋๋ฉฐ, Rest API์ ๊ฐ์ ๊ฐ๋ฒผ์ด ๋ฐฉ์์ผ๋ก ํต์ ๋์ด์ผ ํ๋ค
์ฅ์
- ์๋น์ค ๋ณ ๊ฐ๋ณ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํด ๊ฐ๋ฐ์์ ์์จ์ฑ ์ฆ๊ฐ ๋ฐ ๋น ๋ฅด๊ฒ ๋ฐฐํฌ ๊ฐ๋ฅํจ
- ํน์ ์๋น์ค์ ๋ํ ํ์ฅ์ฑ์ด ์ฉ์ดํด ํด๋ผ์ฐ๋ ์ฌ์ฉ์ ์ ํฉํ๋ค
- ์ฅ์ ๊ฐ ์ ์ฒด ์๋น์ค๋ก ํ์ฅ๋ ๊ฐ๋ฅ์ฑ์ด ์ ๊ณ , ๊ฒฉ๋ฆฌ๊ฐ ์ฌ์
- ์ฝ๋์ ์ดํด๋๋ ์ฆ๊ฐํ๊ณ ์ ์ง๋ณด์๊ฐ ์ฝ๋ค
- ์ ๊ธฐ์ ์ ์ ์ฉ์ด ์ ์ฐํ๋ค
๋จ์
- ์๋น์ค ๊ฐ ํธ์ถ ์ API๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ํต์ ๋น์ฉ ์ฆ๊ฐ ๋ฐ ์ง์ฐ ์๊ฐ ์ฆ๊ฐ
- ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ์กฐํํ๊ธฐ ์ด๋ ต๊ณ , ์ ํฉ์ฑ ๊ด๋ฆฌ๊ฐ ์ด๋ ต๋ค
- ํตํฉ ํ ์คํธ์ ์๊ฐ๊ณผ ๋น์ฉ์ด ๋ง์ด ๋ ๋ค
- ํธ๋์ญ์ ์ ๊ตฌํํ๊ธฐ ๊น๋ค๋กญ๋ค
- ์ํคํ ์ฒ์ ๋ณต์ก์ฑ์ผ๋ก ๊ฐ๋ฐ ๋ฐ ๊ด๋ฆฌ๊ฐ ์ด๋ ต๊ณ ์ ์ง ๋น์ฉ์ด ๋ง์ด ๋ ๋ค
MSA ํ๊ฒฝ์์ ๋ด API์ ๋์
์๊ทธ์ ์ด๋ฉ์ผ ์ธ์ฆ๋ฒํธ ์ ์ก ๋ฐ ๊ฒ์ฆ API๋ฅผ ๋ง๋ค์๋ค.
ํธ๋ํฝ์ด ๋ชฐ๋ฆด ๊ฒฝ์ฐ๋ฅผ ๋๋นํด ๋น๋๊ธฐ ๋ฐฉ์์ ์ฑํํด ๋ฉ์๋๋ฅผ ์ ์ํ๋ค.
๋์ ์ํคํ ์ฒ๋ ๋ ์ด์ด ์ํคํ ์ฒ์ด๋ค ๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ์ด๋ค.
๊ทผ๋ฐ MSA ํ๊ฒฝ์์๋ ์ด๋ค ์์ผ๋ก ๋์ํ ๊น?
์ฐ์ ๋ฐ์ดํฐ ์ ํฉ์ฑ ๋ฌธ์ ๊ฐ ๊ฐ์ฅ ํฐ ์ด์์ผ ๊ฒ ๊ฐ๋ค.
๋ฉ์ผ์ ๋ณด๋ด๊ณ ๋์ redis์ ์ธ์ฆ ๋ฒํธ์ ์ด๋ฉ์ผ์ ์ ์ฅํ๋๋ฐ msa ํ๊ฒฝ์์๋ DB๋ ์คํค๋ง ๋ณ๋ก ๋๋๋ฏ๋ก ์ ํฉ์ฑ์ ์งํค๊ธฐ๊ฐ ์ฝ์ง ์์ ๊ฒ ๊ฐ๋ค.
1. ์ผ๋ฐ DBMS์ ์ ์ฅ์ ํด์ผ ํ๋์ง
2. ๋ทฐ๋ฅผ ์์ฑํด API ๋ณ๋ก ๊ณต์ ๋ฅผ ํ๋์ง
=> ๋ทฐ๋ ํ๋์ ์ ์ ํ ์ด๋ธ์ด ๋ทฐ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
์ด๋ฐ ์์ผ๋ก ์ ํฉ์ฑ ๊ด๋ จ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ ๊ฒ ๊ฐ๋ค.
๋ฌด๊ฒฐ์ฑ๊ณผ ์ ํฉ์ฑ์ด๋ ๋ฌด์์ธ๊ฐ?
๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ๋ฐ์ดํฐ ์ ํฉ์ฑ์ ์ ๋ฆฌํด ๋ณด์๋ค.
velog.io
์์ค์ฝ์ด
์์ค์ฝ์ด๋ ๋์งํธ ํ์ ์ ์ํ ๊ณ ๊ธ ํ๋กํ์ ๋ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋งค๋์ง๋จผํธ ์ปจ์คํ ๊ณผ ์ํํธ์จ์ด ํ ํฌ๋๋ก์ง ์๋น์ค ์คํผ๋ง์ ์ดํด๋ณด์ธ์.
s-core.co.kr