1. Monolithic Architecture
- Monolithic Architecture๋ ์ํํธ์จ์ด์ ๋ชจ๋ ๊ตฌ์ฑ์์๊ฐ ํ ํ๋ก์ ํธ์ ํตํฉ๋์ด ์๋ ํํ์ด๋ค.
- ์น ๊ฐ๋ฐ์ ๊ฒฝ์ฐ ์น ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๊ธฐ ์ํด ๋ชจ๋๋ณ๋ก ๊ฐ๋ฐ์ ํ๊ณ , ๊ฐ๋ฐ์ด ์๋ฃ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋์ ๊ฒฐ๊ณผ๋ฌผ๋ก ํจํค์งํ์ฌ ๋ฐฐํฌ๋๋ค. ์ด๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ผ ํ๋ฉฐ, ์น์ ๊ฒฝ์ฐ WARํ์ผ๋ก ๋น๋๋์ด WAS์ ๋ฐฐํฌ๋๋ ํํ๋ฅผ ๋งํ๋ค.
- ์ฃผ๋ก ์๊ท๋ชจ ํ๋ก์ ํธ์์ ์ฌ์ฉ๋๋ค.
1) ๋ชจ๋๋ฆฌ์ ์ํคํ ์ณ์ ํ๊ณ์
- ํ์ง๋ง ์ผ์ ๊ท๋ชจ ์ด์์ ์๋น์ค, ํน์ ์๋ฐฑ๋ช ์ด์์ ๊ฐ๋ฐ์๊ฐ ํฌ์ ๋๋ ํ๋ก์ ํธ์์ ๋ชจ๋๋ฆฌ์ ์ํคํ ์ณ๋ ํ๊ณ๊ฐ ์๋ค.
- ๋ถ๋ถ ์ฅ์ ๊ฐ ์ ์ฒด ์๋น์ค์ ์ฅ์ ๋ก ํ๋๋ ์ ์๋ค.
- ๋ถ๋ถ์ ์ธ Scale-out(์ฌ๋ฌ server๋ก ๋๋์ด ์ผ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์)์ด ์ด๋ ต๋ค.
- ์๋น์ค์ ๋ณ๊ฒฝ์ด ์ด๋ ต๊ณ , ์์ ์ ์ฅ์ ์ ์ํฅ๋ ํ์ต์ด ํ๋ค๋ค.
- ๋ฐฐํฌ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค.
- ํ Framework์ ์ธ์ด์ ์ข ์์ ์ด๋ค.
2) MSA์ ๋ฑ์ฅ
- ์ด๋ฌํ ๋ชจ๋๋ฆฌ์ ์ํคํ ์ณ์ ๋ฌธ์ ์ ๋ค์ ๋ณด์ํ๊ธฐ ์ํด MSA๊ฐ ๋ฑ์ฅํ๊ฒ ๋์๋ค.
- ๊ธฐ์กด์ ํน์ ํ ๋ฌผ๋ฆฌ์ ์ธ ์๋ฒ์ ์๋น์ค๋ฅผ ์ฌ๋ฆฌ๋ on promise ์๋ฒ ๊ธฐ๋ฐ์ Monolithic Architecture์์ ์ด์ ๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ์ด์ฉํ์ฌ ์๋ฒ๋ฅผ ๊ตฌ์ฑํ๋ MicroService Architecture๋ก ๋ง์ ์๋น์ค๋ค์ด ์ ํ๋๊ณ ์๋ค.
2. MSA(MicroService Architecture)
๋ง์ดํฌ๋ก ์๋น์ค๋ ์๊ณ , ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ์ํํ๋ ์๋น์ค๋ก ๊ตฌ์ฑ๋ ํ๋ ์์ํฌ๋ผ๊ณ ํ ์ ์๋ค.
๋ง์ดํฌ๋ก ์๋น์ค๋ ์์ ํ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๊ณ , ๋ค๋ฅธ ๊ธฐ์ ์คํ์ด ์ฌ์ฉ ๊ฐ๋ฅํ ๋จ์ผ ์ฌ์ ์์ญ์ ์ด์ ์ ๋๋ค.
1) MSA์ ํน์ง
- MSA๋ API๋ฅผ ํตํด์๋ง ์ํธ์์ฉํ ์ ์๋ค. ์ฆ, ๋ง์ดํฌ๋ก ์๋น์ค๋ ์๋น์ค์ end-point(์ ๊ทผ์ )์ API ํํ๋ก ์ธ๋ถ์ ๋ ธ์ถํ๊ณ , ์ค์ง์ ์ธ ์ธ๋ถ ์ฌํญ์ ๋ชจ๋ ์ถ์ํํ๋ค. ๋ด๋ถ์ ๊ตฌํ ๋ก์ง, ์ํคํ ์ณ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ์ง ์ ์ง ์ฒด๊ณ์ ๊ฐ์ ๊ธฐ์ ์ ์ธ ์ฌํญ๋ค์ ์๋น์ค API์ ์ํด ์ฒ ์ ํ๊ฒ ๊ฐ๋ ค์ง๋ค.
- ์ ๋๋ก ์ค๊ณ๋ MSA๋ ํ๋์ ๋น์ฆ๋์ค ๋ฒ์์ ๋ง์ถฐ ๋ง๋ค์ด์ง๋ฏ๋ก ํ๋์ ๊ธฐ๋ฅ๋ง ์ํํ๋ค. ์ฆ, ์ ํ๋ฆฌ์ผ์ด์ ์ถ์์ฒ๋ผ ํ๋์ ๋ชฉํ๋ฅผ ํฅํด ์ผํ์ง๋ง ์๊ธฐ๊ฐ ๊ฐ๋ฐํ๋ ์๋น์ค๋ง ์ฑ ์์ง๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ ํญ์ ๊ธฐ์ ์ค๋ฆฝ์ ํ๋กํ ์ฝ์ ์ฌ์ฉํด ํต์ ํ๋ฏ๋ก ์๋น์ค ๊ตฌํ ๊ธฐ์ ๊ณผ๋ ๋ฌด๊ดํ๋ค. ๋ฐ๋ผ์ ๋ง์ดํฌ๋ก์๋น์ค ๊ธฐ๋ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ ์ธ์ด์ ๊ธฐ์ ๋ก ๊ตฌ์ถํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ๋ง์ดํฌ๋ก์๋น์ค๋ SOA(Service Oriented Architecture)์์ ์ฌ์ฉ๋๋ ์ง์คํ๋ ๊ด๋ฆฌ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค ๊ตฌํ์ฒด์ ๊ณตํต์ ์ธ ํน์ง ์ค ํ๋๋ ESB(Enterprise Service Bus)์ ๊ฐ์ ๋ฌด๊ฑฐ์ด ์ ํ์ ์์กดํ์ง ์๋๋ค๋ ์ ์ด๋ค. REST ๋ฑ ๊ฐ๋ฒผ์ด ํต์ ์ํคํ
์ฒ, ๋๋ Kafka ๋ฑ์ ์ด์ฉํ message stream์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
2) MSA์ ์ฅ๋จ์
์ฅ์ | ๋จ์ |
|
|
'๐ฅ IT 8๊ฐ ์ง๋ฌด ๊ธฐ์ด์ฒดํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
IT ์ฉ์ด(6) - ETL (0) | 2021.07.15 |
---|---|
IT ์ฉ์ด(5) - API (0) | 2021.07.15 |
IT ์ฉ์ด(3) - Disaster Recovery(DR) (0) | 2021.07.15 |
IT ์ฉ์ด(2) - ๊ฐ์ฉ์ฑ(availability) (0) | 2021.07.14 |
IT ์ฉ์ด(1) - OS (0) | 2021.07.10 |