ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ
์ฒ๋ฅผ ๊ตฌ์ถํ๊ณ ,
๋ง์ดํฌ๋ก์๋น์ค ์ฑ ๊ฐ๋ฐ์ ๋์ ํ์ธ์! ๐ง
IT ์์คํ
์๋ ๋งค๋
์๋ง์ ๊ธฐ์ ์ด ์๊ฒจ๋๊ณ , ์ฌ๋ผ์ง๊ณ ์์ต๋๋ค. ์๋กญ๊ฒ ์ถ์๋ ๊ฐ๋
์ด๋, ๊ธฐ์ , ๋ฐฉ๋ฒ๋ก ๋ค์ด ์๋ง์ ๋ ํผ๋ฐ์ค๋ฅผ ๊ฑฐ์ณ ์์ ํ๋ ์์คํ
์ผ๋ก ์๋ฆฌ์ก๊ธฐ๊น์ง๋ ์ค๋ ์๊ฐ์ด ํ์ํฉ๋๋ค.
1960~1980๋
๋
- 1960~1980๋
๋๋ ํ๋์จ์ด๊ฐ ์ค์ฌ์ด ๋์๋ ๋ฉ์ธํ๋ ์ ์๊ธฐ์์ต๋๋ค. ์ํํธ์จ์ด๋ณด๋ค๋ ํ๋์จ์ด์ ์ฌ์์ด๋ผ๋๊ฐ ์ฑ๊ฒฉ์ ๋ง์ถฐ ์๋น์ค๋ฅผ ๊ตฌ์ถํ๋ ์๊ธฐ์๊ณ , ํ๋์จ์ด ๋ฐ ์์คํ
์์ฒด๊ฐ ์๋นํ ๊ณ ๊ฐ์๊ธฐ ๋๋ฌธ์ ์๋น์ค์ ๊ธฐ๋ฅ์ ์์ ํ๊ฑฐ๋ ๋ณ๊ฒฝํ๊ธฐ๊ฐ ์๋นํ ์ด๋ ค์ ์ต๋๋ค. Fragile์ด๋ผ๊ณ ๋ถ๋ฅด๋ ์ด ์๊ธฐ์ ํ๋ฒ ๊ตฌ์ถ๋ ์์คํ
์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์ฌ์ด ์์
์ด ์๋์์ผ๋ฉฐ, ๋ง์ ๋น์ฉ๊ณผ ์๊ฐ์ด ํ์ํ์์ต๋๋ค.
1990~2000๋
๋
- 1990~2000๋
๋๋ ๋ถ์ฐ์ด๋ผ๋ ํค์๋๊ฐ ํต์ฌ์ด๋ ์๊ธฐ์์ต๋๋ค. ์ด ์๊ธฐ๋ฅผ Robust, Distributed๋ผ ํฉ๋๋ค. ์์คํ
์ด ์์ ํ/๋ถ์ฐํ๋ ๋๋ถ์ ์๋น์ค์ ์ด๋ ์ ๋ ๋ถํ์ค์ฑ์ด๋ ๋ณํ๊ฐ ๋ฐ์ํ๋ค ํ๋๋ผ๋ ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ด ์ ์ง๋ ์ ์๋ ์์คํ
์ ๊ตฌ์ถํ ์ ์์์ต๋๋ค.
2010๋
์ดํ~ํ์ฌ
- 2010๋
์ดํ๋ Resilient(ํ๋ ฅ์๋), Fragile๊ณผ ๋ฐ๋๋๋ ๊ฐ๋
์ธ Anti-Fragile, ๊ทธ๋ฆฌ๊ณ Cloud Native๋ก ์์คํ
์ด ๊ตฌ์ถ๋๋ ์๊ธฐ์
๋๋ค. ๊ฐ์ํ ๊ธฐ์ ์ด ๋์
๋์์ผ๋ฉฐ, ๊ธฐ์
์ IT ํ๊ฒฝ๊ณผ ์์คํ
์ ํด๋ผ์ฐ๋๋ก ์ด์ ๋์๊ณ , ํ์ฅ์ฑ๊ณผ ์์ ์ฑ์ด ๋์ฑ ๊ฐํ๋์์ต๋๋ค. ๊ณ ๊ฐ์ผ๋ก๋ถํฐ์ ์ง์์ ์ธ ๊ฐ์ ๋ฐ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ธฐ๋๋ผ๋, ์์คํ
๋ค์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ๋๊ณ ํ๋ ฅ์ ์ผ๋ก ์ด์ํ ์ ์๋๋ก ๊ตฌ์ถ๋์์ต๋๋ค.
ํ์ฌ๋
Cloud(ํด๋ผ์ฐ๋) ๊ธฐ์ ์ด IT ํ๊ฒฝ์ ํ์๋ก ์ฌ๊ฒจ์ง๊ณ ์์ต๋๋ค. ์ด๋ฌํ Cloud ํ๊ฒฝ์์ IT ์์คํ
์ ๊ตฌ์ถํ๋ ๊ฒ์ Cloud Native Architecture(ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ
์ฒ)๋ผ ๋ณผ ์ ์์ผ๋ฉฐ, Cloud ํ๊ฒฝ์์ ๊ธฐ๋๋๋ ์ ํ๋ฆฌ์ผ์ด์
์ Cloud Native Application(ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ ํ๋ฆฌ์ผ์ด์
)์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๋ง๋
IT ์์คํ
๊ตฌ์ถ์ด ํ์ํ ์ด์ .
Linux ์ฐํ ๋จ์ฒด์ธ CNCF(Cloud Native Computing Foundation)์๋ Cloud Native Application์ ์ฃผ์ ๊ตฌ์ฑ ์์๋ก ๋ค์ 4๊ฐ์ง๋ฅผ ์ธ๊ธํ์์ต๋๋ค.
โข CI/CD โข DevOps โข Microservices โข Containers
์ด ์ค Cloud Native Application์ ํต์ฌ์ด์ ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ์๋น์ค ๋ก์ง์ ๊ตฌํํ๋ ๊ฒ์ด Microservice์
๋๋ค. Microservice Architecture๋ ๊ธฐ์กด์ ๋จ์ผ ์์คํ
ํ๊ฒฝ์์ Front-end, Back-end, Database ๋ฑ์ ๊ตฌ์ฑ์์๋ฅผ ๋ชจ๋ ํฌํจํ์ฌ ๋ฐฐํฌํ๋ ๋ชจ๋๋ฆฌ์ค ๋ฐฉ์๊ณผ ๋๋ณ๋๋ ๊ฐ๋ฐ ๋ฐฉ์์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ด ๊ตฌ์ฑํ๋ ์ ๋๋์ด์ง ๊ฒฝ๊ณ์ ์ํด ์๋น์ค๋ค์ ๋ถ๋ฆฌํ์ฌ ๊ฐ๋ฐํ๊ณ ์ด์ํ๊ธฐ ์ํ Architecture๋ฅผ ๋งํฉ๋๋ค. Microservice Architecture๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ๋๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์ํด Java(์๋ฐ)์ Spring Framework, Spring Cloud๋ผ๋ ๊ธฐ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Spring Cloud๋ ๋ถ์ฐ ์์คํ
๊ตฌ์ฑ๊ณผ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๊ธฐ ์ํด ํ์ํ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์๋น์ค, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ์ด๋ ๊ตฌ์ฑ์ ๊ด๋ จ๋ ํจํด์ ์ ๊ณตํจ์ผ๋ก์จ Cloud Native Architecture๋ฅผ ์ํ Microservice ์ ํ๋ฆฌ์ผ์ด์
์ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์๋๋ก ์ ๊ณตํ๋ ๊ฐ๋ฐ ๋๊ตฌ์ด์, ๊ฐ๋ฐ Platform์
๋๋ค.
Microservice ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ ๊ตฌ์ฑ ๊ด๋ฆฌ, ์๋น์ค ๊ฒ์, ํ๋ก ์ฐจ๋จ๊ธฐ, ์ง๋ฅํ ๋ผ์ฐํ
, ๋ง์ดํฌ๋ก ํ๋ก์, ์ ์ด ๋ฒ์ค, ์ผํ์ฑ ํ ํฐ, ๊ธ๋ก๋ฒ ์ ๊ธ, ๋ฆฌ๋์ญ ์ ํ, ๋ถ์ฐ ๋ฑ์ ๊ธฐ์ ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๊ธฐ๋ณธ์ ์ธ ๋ณด์ผ๋ฌ ํ๋ ์ดํธ ํจํด์ ์ ๊ณตํ๋ฉฐ, ๊ฐ๋ฐ ๋ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ์๋น์ค๋ ๊ฐ๋ฐ์์ ๋ก์ปฌ ํ๊ฒฝ์ ๋
ธํธ๋ถ, ๋ฒ ์ด ๋ฉํ ๋ฐ์ดํฐ ์ผํฐ ๋ฐ Cloud Foundry์ ๊ฐ์ ๊ด๋ฆฌ ํ๋ซํผ์ ํฌํจํ ๋ชจ๋ ๋ถ์ฐ ํ๊ฒฝ์์ ์ ์๋๋ ์ ์๋๋ก ๋ฐ์ด๋ ํธํ์ฑ์ ์ ์งํฉ๋๋ค.
์ด ๊ฐ์์ ๋ชฉํ
์ฐ๋ฆฌ์ ์ต์ข
๋ชฉํ๋?
์คํ๋ง ๋ถํธ + ์คํ๋ง ํด๋ผ์ฐ๋๋ฅผ ์ด์ฉํด์
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ
์ฒ๋ก ์ค๊ณ๋ ์ฑ์
์ค๊ณํ๊ณ , ๊ฐ๋ฐํ๋ ๊ฒ์
๋๋ค.
์ด๋ฒ ๊ฐ์์์๋ Spring Cloud์ ์ ํ(ํ์ ํ๋ก์ ํธ)๋ก Microservice ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๊ณ , ์ด์ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ตํ๋ ๊ณผ์ ์
๋๋ค. Microservice Architecture๋ฅผ ๊ตฌ์ฑํ๋ Gateway, Service Mesh, Runtime์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ๊ณผ ์ด์์ ์ํด ๋น๋ํ๊ณ ๋ฐฐํฌํ๋ ๊ณผ์ ์ ๋ํด์๋ ํ์ตํ ์์ ์
๋๋ค.
๋ณธ ๊ฐ์๋ฅผ ์๊ฐํ์ ๋ถ๋ค์ ๊ธฐ๋ณธ์ ์ธ Microservice Architecture์ ์ดํด์ Java์ ํตํฉ ๊ฐ๋ฐํ๊ฒฝ์ธ IntelliJ๋ฅผ ์ด์ฉํ์ฌ Spring Boot, Spring Cloud ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ์ค ์ ์๊ณ , ๋ก์ปฌ ํ๊ฒฝ๊ณผ ์ปจํ
์ด๋ ๊ฐ์ํ์ ๋ฐฐํฌํ์ฌ ์ด์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์ค์ตํ์ค ์ ์์ต๋๋ค.
๊ฐ์์ ์ฌ์ฉ ๋ ์ค์ต ์์ ๋ ์๋์์ ํ์ธํด ๋ณด์ค ์ ์์ต๋๋ค.
- Spring Boot 3.5 + Spring Cloud 2025.0.0
- https://github.com/joneconsulting/new-toy-msa
- branch: main
- ์ค์ต ์์ ์ ๋ํ ๊ฐ์ ์์ ์
๋ฐ์ดํธ ์ค (by 2025-06)
- (์์ง ์
๋ฐ์ดํธ๊ฐ ์๋ฃ๋์ง ์์ ์์์ ์ด์ ์ฝ๋์ ํจ๊ป ํ์ธํ์๊ธฐ ๋ฐ๋๋๋ค.)
- Spring Boot 3.2 + Spring Cloud 2023.0.0
- Spring Boot 2.7.x + Spring Cloud 2021.0.3
- Spring Boot 2.4.2 + Spring Cloud 2020.0.0
ํ์ต ๊ณผ์
REST API๋ฅผ ์ค๊ณํ๊ณ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌํํ๊ธฐ๊น์ง.
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ
์ฒ ์ค๊ณ์ ๊ตฌ์ถ์ ํต์ฌ ๊ฐ์ด๋.