Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ (MSA)
Spring framework์ Spring Cloud ์ ํ๊ตฐ์ ์ด์ฉํ์ฌ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํด ๋ณด๋ ๊ณผ์ ์ ๋๋ค. Cloud Native Application์ผ๋ก์จ์ Spring Cloud๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง, ๊ตฌ์ฑ์ ์ด๋ป๊ฒ ํ๋์ง์ ๋ํด ๋ฐฐ์ธ ์ ์๋ ๊ฐ์์ ๋๋ค.
์๊ฐ์ 7,904๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

Spring Boot 3.5 + Spring Cloud 2025.0.x ๊ฐ์ ์ ๋ฐ์ดํธ ์ค ์ ๋๋ค.
์๋ ํ์ธ์, ์ด๋์์ ๋๋ค.
์ด๋ฒ์ ์๋กญ๊ฒ "Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ (MSA)" ๊ฐ์์ ๋ํ 2์ฐจ ์ ๋ฐ์ดํธ๊ฐ ์งํ ์ค์ ๋๋ค. ์ด๋ฒ ์ ๋ฐ์ดํธ๋ ์ค์ต ์์ ํ ๋ํ ๋ถ๋ถ ๋ฟ๋ง ์๋๋ผ, ๊ฐ์ ์ฝํ ์ธ ์ ๋ํ ๋ถ๋ถ๋ ์ต์ ๋ด์ฉ์ผ๋ก ์ ๋ฐ์ดํธ ์ค์ ๋๋ค. (Spring boot 3.5 + Spring Cloud 2025.0.0)
์์ ๊ณต์งํด ๋๋ ธ๋ ๋ด์ฉ์ฒ๋ผ 6์๋ง๊น์ง ์ผ์ ์ผ๋ก ๋ง๋ฌด๋ฆฌํ๋ ค๊ณ ํ๋๋ฐ, ํ์ฌ ํ๋ก์ ํธ ์ผ์ ๊ณผ ๊ฒน์ณ ๋์ ํ ์๊ฐ์ ๋ง์ถ์๊ฐ ์์์ต๋๋ค. ๋ค์ํ๋ฒ ์ฃ์กํ๋ค๋ ๋ง์๋๋ฆฝ๋๋ค.
์ฐ์ Section 1 ๊ฐ์ ์ ๋ฐ์ดํธ๊ฐ ์งํ๋์๊ณ , ํ๊บผ๋ฒ์ ์ ๋ฐ์ดํธํ์ง๋ ๋ชปํ๊ฒ ์ง๋ง, Section2, Section 3... ๋งค์ฃผ ์์ฐจ์ ์ผ๋ก ์ ๋ฐ์ดํธ ํ ๊ณํ์ ๋๋ค.
์ด๋ฒ ๊ฐ์ ์ฝํ ์ธ ๋ฅผ ์ ๋ฐ์ดํธ ํ๋ฉด ์๋กญ๊ฒ ๋ช๋ช ๋ด์ฉ๋ค๋ ์ถ๊ฐ๋์์ผ๋ ๊ฐ์ด ์ฐธ๊ณ ํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค์ ํ๋ฒ ๊ฐ์์ ๊ด์ฌ์ ๊ฐ์ ธ ์ฃผ์ ๋ถ๋ค๊ป ๊ฐ์ฌ์ ์ธ์ฌ ๋๋ฆฝ๋๋ค.
์ง๋ 5์ ๋ง๋ ๊ทธ๋์ ๋ฏธ๋ค์๋, ์คํ๋ง ํด๋ผ์ฐ๋ ํจํด์ ๋ํ ๊ฐ์๋ ์คํ ํ์๋๋ฐ, ๊ธฐ๋ณธ์ ์ธ MSA ๊ณผ์ ์ ํ์ตํ์ ๋ถ๋ถ๋ค์ ์ด๋ถ๋ถ๋ ๊ด์ฌ์ ๊ฐ์ ธ์ฃผ์๋ฉด ๊ฐ์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.์ถ๊ฐ๋ก, ํ์ฌ ์งํ ์ค์ธ ๊ฐ์๋ค์ ๋ฌถ์ด ํ์ตํ์ค ์ ์๋๋ก ๋ก๋๋งต์ ์์ฑํด ๋ณด์์ต๋๋ค.
Spring Cloud์ Jenkins๋ฅผ ์ด์ฉํ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ
Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ (MSA)
Jenkins๋ฅผ ์ด์ฉํ CI/CD Pipeline ๊ตฌ์ถ
Spring Boot + MSA + CI/CD: ์๋ํ๋ ๊ฐ๋ฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
[๊ฐ์ ํ 2023-11-27] Spring Boot 3.x ๋ฅผ ์ด์ฉํ RESTful Web Services ๊ฐ๋ฐ
Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ (MSA)
Jenkins๋ฅผ ์ด์ฉํ CI/CD Pipeline ๊ตฌ์ถ
์ฃผ๋์ด ๊ฐ๋ฐ์๋ฅผ ์ํ Spring Boot & MSA ์ ๋ฌธ
[๊ฐ์ ํ 2023-11-27] Spring Boot 3.x ๋ฅผ ์ด์ฉํ RESTful Web Services ๊ฐ๋ฐ
Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ (MSA)
Spring Boot๋ถํฐ Docker๊น์ง: ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๊ฐ๋ฐ ์์ฑ ๋ก๋๋งต
[๊ฐ์ ํ 2023-11-27] Spring Boot 3.x ๋ฅผ ์ด์ฉํ RESTful Web Services ๊ฐ๋ฐ
Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ (MSA)
Jenkins๋ฅผ ์ด์ฉํ CI/CD Pipeline ๊ตฌ์ถ
DevOps๋ฅผ ์ํ Docker ๊ฐ์ํ ๊ธฐ์ (Private Harbor Registry)
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ๊ธฐ๋ณธ๋ถํฐ ํจํด์ ํ์ฉ
Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ (MSA)
์ด๋ณด์์ ์ค๋ฌด์๊น์ง! MSA ์ค๊ณ ํจํด ์๋ฒฝ ๊ฐ์ด๋
์๋ ํ์ธ์, ์ด๋์์ ๋๋ค.
๊ทธ๋์ ๋ฏธ๋ค์๋ "Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ (MSA)" ๊ฐ์์ ๋ํ 1์ฐจ ์ ๋ฐ์ดํธ๊ฐ ์๋ฃ ๋์์ต๋๋ค. ์ด๋ฒ ์ ๋ฐ์ดํธ๋ ์ค์ต ์์ ํ ๋ํ ๋ถ๋ถ์ ๊ธฐ์กด Spring boot 2.x ๋ฒ์ ์์ Spring boot 3.x ๋ฒ์ ์ผ๋ก ๋ณ๊ฒฝํ ๋ด์ฉ์ ๋๋ค. ๊ฐ์ ๋ด์ฉ ์ฝํ ์ธ ์ ๋ํ ์ ๋ฐ์ดํธ๋ ํ๋ฐ๊ธฐ์ 2์ฐจ ์ ๋ฐ์ดํธ ํ ๊ณํ์ ๋๋ค.
์์ ๊ณต์งํด ๋๋ ธ๋ ๋ด์ฉ์ฒ๋ผ 6์๋ง๊น์ง ์ผ์ ์ผ๋ก ๋ง๋ฌด๋ฆฌํ๋ ค๊ณ ํ๋๋ฐ, ํ์ฌ ํ๋ก์ ํธ ์ผ์ ๊ณผ ๊ฒน์ณ ๋์ ํ ์๊ฐ์ ๋ง์ถ์๊ฐ ์์์ต๋๋ค. ๋ค์ํ๋ฒ ์ฃ์กํ๋ค๋ ๋ง์๋๋ฆฝ๋๋ค.
์ด๋ฒ ๊ฐ์ ์ฝํ ์ธ ๋ฅผ ์ ๋ฐ์ดํธ ํ๋ฉด ์๋กญ๊ฒ ๋ช๋ช ๋ด์ฉ๋ค๋ ์ถ๊ฐ๋์์ผ๋ ๊ฐ์ด ์ฐธ๊ณ ํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ์ถ๊ฐ๋ ๋ถ๋ถ์ Swagger API (OAS 3.0) ์ ์ฉ๊ณผ Kubernetes์์ Spring Boot ์ ํ๋ฆฌ์ผ์ด์ (์๋น์ค)๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํด ํ์ํ K8s manifest ์ค์ ์ ๋ํ ๋ถ๋ถ์ ๋๋ค.
์์ค์ฝ๋๋ ์ด๋ฏธ github์ ๊ณต์ ํด ๋๋ ธ์ผ๋, ์ฝํ ์ธ ๋ฅผ ๋ค์ ๋ นํํ๋ฉด์ ์ผ๋ถ ๋ณ๊ฒฝ๋๊ฑฐ๋ ์ถ๊ฐ๋๊ธฐ๋ ํ์์ผ๋, ์ต์ ์ฝ๋๋ก ์ค์ตํด ๋ณด์๊ธฐ๋ฅผ ๊ถ์ฅ๋๋ฆฝ๋๋ค. ์ค์ต ์ฝ๋๊ฐ ์ ๋ฐ์ดํธ ๋ ๋ถ๋ถ์ ์๋์ ๊ฐ์ต๋๋ค.
joneconsulting/toy-msa: A Toy project for a mas practice. (github.com)
(๋ธ๋์น: springboot3.2, springboot3.2_k8s)
Eureka Service Discovery
Configuration Service
First-Service
Second Service
Apigateway Service
Kafka
Catalog Service
Order Service
User Service
Kubernetes ๋ฐฐํฌ
Distributed Tracing (with Zipkin)
Swagger API (OAS 3.0)
์ถ๊ฐ๋ก, ์ ๋ฐ์ดํธ ์ดํ ์งํํ๊ฒ ๋ค๊ณ ํ๋ ์ด๋ฒคํธ๋ ์กฐ๋ง๊ฐ์ ์งํํ๋๋ก ํ๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค!
์๋ ํ์ธ์, ์ด๋์์ ๋๋ค.
๋จผ์ "Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ (MSA)" ๊ฐ์๋ฅผ ์๊ฐํ์๋ ์๊ฐ์ ๋ถ๋ค๊ป ๊ฐ์ฌ์ ์ธ์ฌ๋๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํด๋น ๊ฐ์์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ ๊ณผ ๋ฌ๋ฆฌ ๋ฆ์ด์ง๊ณ ์๋ ์ ์ ๋ํด์ ์ํด์ ๋ง์๋๋ฆฌ๊ณ ์ ๊ธ ์ฌ๋ฆฝ๋๋ค.
์ง๋ฌธ ๊ฒ์ํ์๋ ์ฌ๋ฌ๋ฒ ๋ง์๋๋ฆฐ ๋ด์ฉ์ฒ๋ผ ํด๋น ๊ฐ์์ ๋ํ ๊ฐ์ ์ ๋ฐ์ดํธ๊ฐ ์ง๋ 1์~2์์ ๊ณํ ๋์๋๋ฐ, ๋ช๊ฐ์ง ๋ฌธ์ ๋ก ์งํ์ด ๋ฆ์ด์ง๊ฒ ๋์์ต๋๋ค. ๊ฐ์๋ฅผ ์ค๋นํ๋ ๊ฐ์ฌ๋ก์จ, ๊ฐ์ธ, ํ์ฌ์ ์ธ ์ด์๊ฐ ์๋ค๋ณด๋ ์ฐจ์ผํผ์ผ ๋ฏธ๋ฃจ๊ฒ ๋์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์๊ฐ์ ์ชผ๊ฐ์ ๊ฐ์๋ฅผ ์ค๋นํ๋๋ฐ ๋ค์ ์๊ฐ์ด ๊ฑธ๋ฆฐ ์ ์ญ์ ์ ๋ถ์ฐฐ์ด๋ผ๋ ์ ์๋ ์ด๊ฒฌ ์์ต๋๋ค.
ํ๊ณ์ธ์ค ์๋ฉด์๋ ๋ช๊ฐ์ง ๋ง์๋๋ฆฌ๋ฉด, ์ง๋ 4์์ ์ค๋น ๊ฐ์์ ๋ํด ํ๋์จ์ด ๋ฌธ์ (๋ ธํธ๋ถ ๊ณ ์ฅ์ผ๋ก ์ธํ ๊ต์ฒด)๋ก ์ ๋ถ ์ฌ๋ นํํ๊ณ ์๋ ์ ์ด๋ ํ์ฌ ์งํ์ค์ธ ํ๋ก์ ํธ์ ์ด์๊ฐ ์๊ฒจ ์ ์์ ์ธ ์๊ฐ ํ ๋น์ ์ด๋ ค์์ด ์์์ต๋๋ค. ๊ทธ๋๋, ์๊ฐ์ ์ชผ๊ฐ์ ๊ฐ์๋ฅผ ๋ นํ ์ค์ ์์์ง๋ง, ๊ธฐ๋ค๋ ค์ฃผ์๋ ๋ถ๋ค๊ป ๋ถํธ์ ๋๋ฆฌ๊ฒ ๋์ด ์ง์ฌ์ผ๋ก ์ฃ์กํ๋ค๋ ๋ง์๋๋ฆฝ๋๋ค.
ํด๋น ๊ฐ์๋ ํ์ฌ ์์ ์ด ๋ง๋ฌด๋ฆฌ ๋๋ 6์ ๊ธฐ์ ์ผ๋ก ์ ๋ฐ์ดํธ ๋๋๋ก ์ค๋น ์ค์ ๋๋ค. ์กฐ๊ธ ๋ ๊ธฐ๋ค๋ ค ์ฃผ์๋ฉด ๊ฐ์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋ค์ ํ๋ฒ ๋ ๋ถํธํจ์ ๋๋ ค ์ฃ์กํ๋ค๋ ๋ง์๋๋ฆฝ๋๋ค.
- ์ด๋์ ๋ฐฐ์ -
์ต๊ทผ์ ์ถ์ ๋ Apache Kafka 3.7๋ถํฐ๋ ๊ณต์์ ์ผ๋ก Docker ํํ๋ก ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Image Layer Details - apache/kafka:3.7.0 | Docker Hub
์ฌ์ฉํ์๋ OS์ ๋ง๋ docker deskop์ ์ค์นํ์๊ณ ๋ฐ๋ก ์ฌ์ฉํ์ค ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ์ดํธ์์๋ linux/amd64์ linux/arm64 ๋ชจ๋ ์ง์๋๋ค๊ณ ๋์ด ์์ผ๋, MacOS Apple chip ์์๋ ์ฌ์ฉ๊ฐ๋ฅ ํ ๊ฒ ๊ฐ์ต๋๋ค.
docker run --env CONFIG_NAME=CONFIG_VALUE -p 9092:9092 apache/kafka:3.7.0Kafka ๊ธฐ๋์ ๋ถํธํ์ จ๋ ๋ถ๋ค์ Docker Kafka๋ก ์คํํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
๊ฐ์ฌํฉ๋๋ค .
์๋ ํ์ธ์, ์๊ฐ์ ์ฌ๋ฌ๋ถ,
"Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ (MSA)" ๊ฐ์๋ฅผ ์งํํ๊ณ ์๋ ์ด๋์์ ๋๋ค.
ํด๋น ๊ฐ์์์ ์ฌ์ฉ๋๊ณ ์๋ ์ํ ์ฝ๋๋ฅผ ์๋์ ๊ฐ์ด ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ ํ์์ต๋๋ค.
๋ณ๊ฒฝ ๋ ์ฝ๋๋ Github์์ ํ์ธ ํ์ค ์ ์์ต๋๋ค.
https://github.com/joneconsulting/toy-msa/tree/springboot3.2
์ต์ ์ ๋ฐ์ดํธ ๋ ์ฝ๋์ ๋ง์ถฐ ๊ฐ์๋ ์ถ๊ฐ ๋ฐ ์ ๋ฐ์ดํธ ํ ์์ ์ ๋๋ค.
2024-02-02
OpenJDK 21
Spring Boot 3.2.2 + Spring Cloud 2023.0.0 ๋ฒ์ ์ ๋ง์ถฐ ์์ ํ์ผ์ด ์ ๋ฐ์ดํธ ๋์์ต๋๋ค.
Spring Security 6 ๋ฒ์ ์ผ๋ก ํ์๊ฐ์ , ๋ก๊ทธ์ธ, ์ธ์ฆ ์์ ๋ณ๊ฒฝ ๋์์ต๋๋ค.
์ด์ ๋ฒ์ (Spring Boot 2.7.6) ์ main ๋ธ๋์น์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ธ์, ์ด๋์์ ๋๋ค.
์ฝ๋ก๋๋ ์กฐ๊ธ์ฉ ์ง์ ๋์ด ๊ฐ๊ณ ์๋ ๋ชจ์ต์ด๊ณ , ์ ์์ ์ธ ์ฌํ์ํ๋ก ๋์๊ฐ๊ณ ์๋ ๋ฏ ํฉ๋๋ค.
2022๋ ๋ ์ฌ๋ฆ์ด ์์๋๊ณ ์์ต๋๋ค. ์ฅ๋ง๊ฐ ์์๋๊ณ ์๋ ๋ฏ ๋ง์ ํ๋์ ๋ณด๊ธฐ๊ฐ ์ด๋ ต๋ค์.
"Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ (MSA)" ๊ฐ์์ ํ์ ๊ฐ์๋ฅผ ๊ธฐ๋ค๋ ค ์ฃผ์๋ ๋ถ๋ค๊ป๋ ์ฃ์กํ๋ค๋ ๋ง์ธ์๋ ๋๋ฆด ๋ง์์ด ์๋ค์. ์๋ ๊ณํ๋๋ก๋ค๋ฉด ์ง๋ 1์์ ์คํ๋์ด์ผ ํ ๊ฐ์๊ฐ ์งํํ๋ ํ๋ก์ ํธ์ ์ด์๋ก 2์ 3์ ์ฐ๊ธฐ๋๋ค๊ฐ ์์ง๋ ์คํํ์ง ๋ชปํ๊ณ ์๋ค์... ๊ทธ๋๋... ์ ๋ง ๊ณง! ์คํํ๋ ค๊ณ ๋ง์ง๋ง ์ค๋น ์์ ์ค์ ์์ต๋๋ค.
๋ค์ ๊ฐ์๋ ์์ ๋๋ก CI/CD์ ๊ด๋ จ๋ ๊ฐ์์ ๋๋ค. ์ค๋์ CI/CD ๊ฐ์์ ๋ํ ๋ชฉ์ฐจ ๋จผ์ ์๊ฐํ๋ ค๊ณ ํฉ๋๋ค.
๊ฐ์๋ ์ ์ฒด 6~7๊ฐ ์น์ ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. Appendix๋ฅผ ๋ณธ ๊ฐ์์ ํฌํจ ์ํฌ์ง ์ฌ๋ถ์ ๋ฐ๋ผ์ 6๊ฐ ๋๋ 7๊ฐ ์น์ ์ผ๋ก ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
Section 1. DevOps์ CI/CD
1-1. DevOps์ CI/CD
1-2. CI/CD ์์ ํ๋ฆ
1-3. Jenkins ์ค์น
1-4. Exercisef #1
Section 2. Jenkins๋ฅผ ์ด์ฉํ CI/CD ์ฌ์ฉ
2-1. CI/CD๋ฅผ ์ํ Git & Maven ์ฐ๋
2-2. Exercisef #2
2-3. CI/CD๋ฅผ ์ํ Tomcat Server ์ฐ๋
2-4. Exercisef #3
2-5. PollSCM ์ค์
2-6. Docker๋ฅผ ์ด์ฉํ ์ค์ต ํ๊ฒฝ ๊ตฌ์ฑ
2-7. Exercisef #4
Section 3. Jenkins + Infrastructure as Code (Ansible์ ์ด์ฉํ Configuration Management)
3-1. IaC
3-2. Ansible ๊ฐ์
3-3. Ansible ์ค์น
3-4. Ansible Playbook
3-5. Exercise #5
3-6. Docker ์ด๋ฏธ์ง ๋ฐฐํฌ
3-7. Exercise #6
Section 4. Jenkins + Ansible + Kubernets ์ฐ๋
4-1. Kubernetes Cluster์ ๋ฐฐํฌํ๊ธฐ
4-2. Ansible + Kubernetes ์ฐ๋
4-3. Exercise #7
4-4. CI/CD ํ๋ก์ธ์ค
4-5. Exercise #8
4-6. Minikube ์ค์น (Apple Silicon chip)
Section 5. Advanced Jenkins ์ฌ์ฉ
5-1. Delivery Pipeline ์ฌ์ฉ
5-2. Jenkins Pipeline ๊ตฌ์ฑ
5-3. Exercise #9
5-4. Exercise #10
5-5. Practices
5-6. SonarQube ์ ์ ๋ถ์
Section 6. Public Cloud์ ๋ฐฐํฌ
6-1. AWS EC2 ์ธ์คํด์ค ์์ฑ๊ณผ Docker ์ค์น
6-2. AWS์ ๋ฐฐํฌ
6-3. Kops๋ฅผ ์ด์ฉํ Kubernetes Cluster ๊ตฌ์ฑ
6-4. NCP ์๋ฒ ์ธ์คํด์ค ์์ฑ๊ณผ Docker ์ค์น
6-5. NCP์ ๋ฐฐํฌ
Appendix
A-1. ํ์ SW ์ค์น
A-2. Tomcat Server ์ค์น
A-3. SSH Server
A-4. Windows ์ฌ์ฉ์๋ฅผ ์ํ XShell, MobaXterm ์ค์น
A-5. MacOS ์ฌ์ฉ์๋ฅผ ์ํ Terminus ์ค์น
๊ฐ์์ ๊ด์ฌ์ ๊ฐ์ ธ์ฃผ์ ๋ถ๋ค๊ป ๋ค์ํ๋ฒ ๊ฐ์ฌ์ ์ธ์ฌ๋ฅผ ๋๋ฆฌ๋ฉฐ, ์กฐ๋ง๊ฐ์ ์ข์ ๊ฐ์๋ก ์ฐพ์๋ต๋๋ก ํ๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ธ์, ์ด๋์์ ๋๋ค.
"Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ " ๊ฐ์๋ฅผ ์์ํ์ง ๋ฒ์จ 6๊ฐ์์ด ๋์ด ๊ฐ๋๋ค. ์๊ฐ๋ณด๋ค ๋ง์ ์๊ฐ์๋ถ๋ค์ด ๊ด์ฌ์ ๊ฐ์ ธ ์ฃผ์ จ์ต๋๋ค. ๋ค์ํ๋ฒ ๊ฐ์ฌ์ ์ธ์ฌ๋๋ฆฝ๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์ ๊ฐ ์ฌํด ๊ฐ์๋ฅผ ์งํํ๊ธฐ๋ก ๊ธฐํํ๋ ํ์๊ฐ์๋ฅผ ๊ณง ๊ณต๊ฐํ ์ ์๊ฒ ๋์ด ์ฌ๊ธฐ ๊ฐ์์์๋์ ๊ธ์ ์ฌ๋ฆฝ๋๋ค. ํ์ ๊ฐ์๋ CI/CD์ ๊ด๋ จ๋ ๋ด์ฉ์ผ๋ก Jenkins๋ผ๋ ์คํ ์์ค๋ฅผ ํ์ฉํ๋ CI/CD ์์ ์ ์งํํ๋ ค๊ณ ํฉ๋๋ค. ๊ฐ์ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. "Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ "๋ณด๋ค ๊ฐ์ ๋ด์ฉ์ด ์ ์ด ์ค๋น๊ฐ ๊ธ๋ฐฉ ๋๋ ๊ฑฐ๋ผ ์๊ฐํ์๋๋ฐ, ์ด๋์ ๋ ๋ฐ์ ํ๊ณ๋ก ์ธํด, ์ด์ ์์ผ ์ค๋น๊ฐ ๋๋ ๊ฐ๋๋ค. ๊ฐ์ ๋ นํ๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ณ , 10์ ์ค์ ๊ฒฝ์๋ ์ ์ ๊ณต๊ฐ๊ฐ ๋์ง ์์๊น ๊ธฐ๋ํด ๋ด ๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ธ์, ์ด๋์์ ๋๋ค.
๋จผ์ ๊ฐ์์ ๊ด์ฌ์ ๊ฐ์ ธ์ฃผ์ ๋ง์ ๋ถ๋ค๊น ๊ฐ์ฌ์ ์ธ์ฌ๋๋ฆฝ๋๋ค.
Spring Boot์ Spring Cloud๋ฅผ ํ์ฉํ ๋ง์ดํฌ๋ก์๋น์ค ๊ด๋ จ ๊ฐ์๋, CNCF์ ์๊ธฐํ๋ Cloud Native์ ๊ตฌ์ฑ์์ 4๊ฐ์ง์ ๋ง์ถฐ์ ๊ฐ์๋ฅผ ๊ตฌ์ฑํด ๋ณด๋ ค๊ณ ๊ณํํ์ต๋๋ค.
- ์ปจํ ์ด๋ ๊ฐ์ํ
- ๋ง์ดํฌ๋ก์๋น์ค
- CI/CD
- DevOps
"Spring Boot๋ฅผ ์ด์ฉํ RESTful Web Services ๊ฐ๋ฐ"๊ณผ "Spring Cloud๋ก ๊ฐ๋ฐํ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๋ฆฌ์ผ์ด์ " ๊ฐ์๋ฅผ ์์ํ์๊ณ , ๊ฐ์์์ ๋ฏธ์ณ ๋ค๋ฃจ์ง ๋ชปํ ๋ด์ฉ์ธ MSA Achitecture, Pattern, Service Mesh์ CI/CD๋ ํ์ ๊ฐ์๋ก ๊ณํ ์ค์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ "Spring Boot๋ฅผ ์ด์ฉํ RESTful Web Services ๊ฐ๋ฐ" ๊ฐ์๋ ์๋ก ์ ๋ฐ์ดํธ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐ์ํ์ฌ ๋ค์ ์ ๋ฐ์ดํธ ๊ณํ ์ค์ ๋๋ค.
๋ง์ํ์ ๋ด์ฉ์ฒ๋ผ ํ์ ๊ฐ์๋ ๋ค์ ์์๋ก ์คํ ํ ๊ณํ์ ๋๋ค. ๊ฐ์ ์คํ ์๊ธฐ๋ ๋ค๋ฅธ ์ ๋ฌด์ ๊ฒน์ณ ๊ณ์ ๋ฏธ๋ค์ง๊ณ ์์ง๋ง, ์ต๋ํ ์ฌํด ์คํํ๋ ๊ฒ ๋ชฉํ์ ๋๋ค.
1. CI/CD (8์ ์ค)
2. MSA Architecture + Pattern + Service Mesh (9์~10์)
3. WebFlux (~12์)
๋ฌด๋์ด ๋์์ ์ฝ๋ก๋๋ก ๊ณ ์์ค๋ฝ์ง๋ง, ๋ชจ๋๋ค ๊ฑด๊ฐํ์๊ณ , ํ์๊ณ ์ ํ๋ ๋ฐ๋ฅผ ์ด๋ฃจ์๊ธธ ๋ฐ๋๋๋ค.
๊ฐ์ฌํฉ๋๋ค.






