๐คทโ๏ธ ๋ชจ๋๋ฆฌ์์ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋?
๋ชจ๋๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋์ ํตํฉ๋ ์ ๋์ผ๋ก ๋ง๋ค์ด์ง๋ ๋ฐ๋ฉด, ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌํ ์ ์๋ ์๋น์ค๋ค. ์ด๋ค ๊ฒ์ด ์ ํฉํ์ง๋ ์ฌ๋ฌ ์์ธ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค.
๐ ๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ (Monolithic Architecture)?
์ ํต์ ์ํคํ ์ฒ๋ฅผ ์ง์นญํ๋ค. ์ํํธ์จ์ด์ ๋ชจ๋ ๊ตฌ์ฑ์์๊ฐ ํ ํ๋ก์ ํธ์ ํตํฉ๋์ด ์๋ ํํ.
๋ชจ๋๋ฆฌ์ ์์ผํ ์ฒ์ ๊ฒฝ์ฐ ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ธด๋ฐํ๊ฒ ๊ฒฐํฉ๋๊ณ ๋จ์ผ ์๋น์ค๋ก ์คํ๋๋ค.
๋ฐ๋ผ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ํ๋ก์ธ์ค์ ๋ํ ์์๊ฐ ๊ธ์ฆํ๋ฉด ํด๋น ์ํคํ ์ฒ ์ ์ฒด๋ฅผ ํ์ฅํด์ผ ํ๋ค.
์ฝ๋ ๋ฒ ์ด์ค๊ฐ ์ฆ๊ฐํ๊ฒ ๋๋ฉด ๋ชจ๋๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๊ฐ์ ํ๊ธฐ๊ฐ ๋ ๋ณต์กํด์ง๋ค.
๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ ์ฅ์
๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ๋ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ๋์ ์ฝ๋ ๋ฒ ์ด์ค์ ๊ธฐ๋ฐ์ ๋์ด์ ๋จ์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ ์๋๊ฐ ๋น ๋ฅด๋ค๋ ๊ฒ์ ๋๋ค.
- ์์ฌ์ด ๋ฐฐํฌ - ์คํ ํ์ผ ๋๋ ๋๋ ํ ๋ฆฌ๊ฐ ํ๋์ฌ์ ๋ฐฐํฌ๊ฐ ํธ๋ฆฌํจ
- ๊ฐ๋ฐ - ํ๋์ ์ ๋์์ ์ฝ๋ ๋ฒ ์ด์ค๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ์ฌ ๊ฐ๋ฐ์ด ๋ ์ฝ๋ค.
- ๋น์ฆ๋์ค - ์๊ท๋ชจ ํ๋ก์ ํธ์์๋ ํฉ๋ฆฌ์ ์ด๋ค.
- ๊ฐํธํ ๋๋ฒ๊น - ๋ชจ๋ ์ฝ๋๊ฐ ํ ์ ๋์ ์์ด ์์ฒญ์ ๋ฐ๋ผ๊ฐ์ ๋๋ฒ๊น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ฝ๋ค.
๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ ๋จ์
๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ ๋ฐฉ์์ ์๋น์ค ๊ท๋ชจ๊ฐ ์ปค์ง๊ณ ํ์ฅ์ด ์ด๋ ค์์ง๋ฉด ๋ ์ด์ ํจ๊ณผ์ ์ด์ง ์๋ค.
ํ๋์ ๊ธฐ๋ฅ์ ์ถ๊ฐ ํน์ ์์ ํด๋ ์ ์ฒด ์ฝ๋๋ฅผ ์ปดํ์ผํ๊ณ ํ ์คํธํด์ผ ๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ๋์๊ฐ์ด ๋์ด๋๊ณ ๋น๋, ๋ฐฐํฌ ์๊ฐ์ด ๊ธธ์ด์ง๋ค.
- ์กฐ๊ทธ๋งํ ์์ ์ฌํญ์ด ์์ด๋ ์ ์ฒด๋ฅผ ๋ค์ ๋น๋ํ๊ณ ๋ฐฐํฌ๋ฅผ ํด์ผํ๋ค.
- ๋ง์ ์์ ์ฝ๋๊ฐ ๋ชฐ๋ ค์์ด ์ ์ง๋ณด์๊ฐ ํ๋ค๋ค.
- ๊ธฐ๋ฅ๋ณ๋ก ์๋ง๋ ๊ธฐ์ , ์ธ์ด, ํ๋ ์์ํฌ๋ฅผ ์ ํํ๊ธฐ๊ฐ ๊น๋ค๋กญ๋ค.
- ์๋น์ค๊ฐ ๋๊ท๋ชจ๋ก ์ปค์ง๋ฉด ๋ชจ๋๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ๊ฐ๋ฐ์ด ๋์ฑ ๋ณต์กํด์ง๊ณ ์๋๊ฐ ๋๋ ค์ง๋ค.
๐ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ (MicroService Architecture)?
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ ํ๋์ ํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ๊ฐ์ ์์ ์๋น์ค ์ ๋์ผ๋ก ๋๋ ์ ๋ณ๊ฒฝํ๊ณ ์กฐํฉ์ด ๊ฐ๋ฅํ๋๋ก ๋ง๋ ์ํคํ ์ฒ๋ค. ๊ฐ ์ ๋์ ์๋ก ์ํธ ํต์ ์ด ๊ฐ๋ฅํ๋ฉฐ ์ด๋ฅผ ํตํด ์ ์ฒด ์๋น์ค๋ฅผ ๊ตฌ์ฑํ๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ ๋ฆฝ์ ์ธ ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ถ๋์ด ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก์ธ์ค๊ฐ ์๋น์ค๋ก ์คํ๋๋ค.
์ด๋ฌํ ์๋น์ค๋ ๊ฒฝ๋ API๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ํตํด ํต์ ํ๋ค. ์๋น์ค๋ ๋น์ฆ๋์ค ๊ธฐ๋ฅ์ ์ํด ๊ตฌ์ถ๋๋ฉฐ ์๋น์ค๋ง๋ค ํ ๊ฐ์ง ๊ธฐ๋ฅ์ ์ํํ๋ค. ์๋น์ค๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๊ธฐ ๋๋ฌธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ๊ธฐ๋ฅ์ ๋ํ ์์๋ฅผ ์ถฉ์กฑํ๋๋ก ๊ฐ๊ฐ์ ์๋น์ค๋ฅผ ์ ๋ฐ์ดํธ, ๋ฐฐํฌ ๋ฐ ํ์ฅํ ์ ์๋ค.
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ ์ฅ์
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์คํํ๋ ์ ๋์ผ๋ก ๊ตฌ์ฑ๋๋ฏ๋ก, ๋ค๋ฅธ ์๋น์ค์ ์ํฅ์ ์ฃผ๋ ์ผ ์์ด ๊ฐ ์๋น์ค๋ฅผ ๊ฐ๋ฐ, ์ ๋ฐ์ดํธ, ๋ฐฐํฌ ๋ฐ ํ์ฅํ ์ ์๋ค. ํฅ์๋ ์์ ์ฑ, ๊ฐ๋ ์๊ฐ ๋ฐ ์ฑ๋ฅ์ผ๋ก ์ํํธ์จ์ด ์ ๋ฐ์ดํธ๋ฅผ ๋ ์์ฃผ ์ํํ ์ ์๋ค.
- ์ ์ฐํ ํ์ฅ - ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ๋ถํ ์ฉ๋์ ๋๋ฌํ๋ฉด ํด๋น ์๋น์ค์ ์ ์ธ์คํด์ค๋ฅผ ํฌํจํ๋ ํด๋ฌ์คํฐ์ ์ ์ํ๊ฒ ๋ฐฐํฌํ์ฌ ๋ถ๋ด์ ์ํํ ์ ์๋ค.
- ์ง์์ ๋ฐฐํฌ - ๋ ์์ฃผ ๋ฐฐํฌํ ์ ์๋ค.
- ๋ ๋ฆฝ์ ์ธ ์๋น์ค๋ก ๋ฐฐํฌ๊ฐ ๋น ๋ฅด๊ณ ๋ชจ๋๋ฆฌ์๋ณด๋ค ๊ฐ๋ณ๋ค.
- ๋์ ์ ์ง ๊ด๋ฆฌ์ฑ ๋ฐ ํ ์คํธ ํธ์์ฑ - ๋ ๋ฆฝ์ ์ผ๋ก ์๋น์ค๋ฅผ ๊ด๋ฆฌํด์ ์ฝ๋๊ด๋ฆฌ์ ์ฉ์ดํ๋ค.
- ๋์ ์์ ์ฑ - ์๋น์ค๋ณ ๊ฐ๋ณ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ์ฌ ๋ฐฐํฌ ์ ์ ์ฒด ์๋น์ค์ ์ค๋จ์ด ์๋ค.
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ ๋จ์
๋ง์ดํฌ๋ก์๋น์ค๋ ์๋น์ค์ ๋ณต์ก์ฑ์ ์ฆ๊ฐ์์ผ ๋ฌด๋ถ๋ณํ ๊ฐ๋ฐ ํ์ฅ ๋๋ ๊ด๋ฆฌ๋์ง ์๋ ๊ธ์ํ ์ฑ์ฅ์ผ๋ก ์๋น์ค์ ๋ณต์ก์ฑ์ ์ฆ๊ฐ ์ํฌ์ ์๋ค.
- ์ ์ฒด ์๋น์ค๊ฐ ์ปค์ง์ ๋ฐ๋ผ ๋ณต์ก๋๊ฐ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋ ์ ์๋ค.
- ์๋น์ค๋ง๋ค DB๊ฐ ๋ถ๋ฆฌ๋์ด ๋ฐ์ดํฐ์ ์กฐํ๊ฐ ์ด๋ ต๊ณ ๋ฐ์ดํฐ์ ์ค๋ณต์ด ๋ฐ์ํ๋ค.
- ๊ฐ์ ๋ฐฐํฌํ ์๋น์ค์ ๋ํด ๋ค๋ฅธ ์๋น์ค์ ์ฑํฌ๊ฐ ์ ๋๋์ง ํ์ธํด์ผ ํ๋ค.
- ๋ ๋ฆฝ์ ์ผ๋ก ์๋ฒ๋ฅผ ์ด์ํด์ ๋น์ฉ๋ฌธ์ ๋ฅผ ์ผ๊ธฐ์ํฌ ์ ์๋ค.
- ์๋น์ค๊ฐ ๋ถ์ฐ๋์ด ์์ด ํธ๋์ญ์ ๊ด๋ฆฌ, ์ฅ์ ์ถ์ ๋ฐ ํ ์คํธ ๋ฑ์ด ์ฝ์ง ์๋ค.
'ITstudy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ณด์ผ๋ฌํ๋ ์ดํธ(Boilerplate code)๋? - ๊ฐ๋ , ํ์ํ ์ด์ (21) | 2023.07.12 |
---|---|
HTTP Content-Disposition๋? (5) | 2023.01.26 |
DNS(Domain Name System) ๊ฐ๋ ๊ณผ ๋์ ์๋ฆฌ (17) | 2022.11.24 |
์๋์ฐ(windows)์์ ํฌํธ ๊ฒ์ ๋ฐ ํฌํธ ์ฃฝ์ด๊ธฐ (5) | 2022.09.16 |
REST, REST API, RESTful์ ๋ํด์ ์ดํดํ๊ธฐ! (5) | 2022.09.05 |