
🤷♂️ 무조건 MSA를 써야 하는 건가요?
아닙니다! MSA를 도입하기 위해서는 많은 설정들이 필요하기 때문에, 일단 모놀리틱 아키텍처로 시작한 다음 부분 부분 전환하는 방법도 가능합니다.
🧩 쿠버네티스란?
쿠버네티스(Kubernetes)
- 컨테이너화된 애플리케이션의 배포, 확장, 운영을 자동화하는 오픈소스 플랫폼
- Google에서 개발하고 현재는 CNCF(Cloud Native Computing Foundation)에서 관리함
- 컨테이너 오케스트레이션 도구로, 다수의 컨테이너를 효율적으로 관리할 수 있음
주요 개념
- 컨테이너: 애플리케이션과 그 종속성을 함께 패키징한 가상화된 환경
- Pod: 쿠버네티스에서 실행되는 최소 단위의 배포 객체
- 노드: 쿠버네티스 클러스터에서 Pod가 실행되는 물리적 또는 가상 머신
- 클러스터: 여러 노드로 구성된 쿠버네티스의 집합
- 네임스페이스: 클러스터 내에서 리소스를 논리적으로 구분하는 단위
Spring Cloud와 비교
- 공통점: 확장성, 관리성, 고가용성
- 차이점
| Spring Cloud | Kubernetes | |
| 초점 | MSA 간의 통신, 서비스 디스커버리, 구성 관리 등 애플리케이션 레벨의 문제 해결에 초점 | 컨테이너 관리, 배포, 스케일링 등 인프라 레벨의 문제 해결에 초점 |
| 구성 요소 | Eureka, Ribbon, Zuul, Config Server, Hystrix 등 다양한 마이크로서비스 패턴을 지원하는 구성 요소 | Pod, Deployment, Service, Ingress, ConfigMap, Secret 등 컨테이너 오케스트레이션에 필요한 구성 요소 |
| 배포 방식 | 애플리케이션 코드와 함께 다양한 클라우드 서비스에 직접 배포 | 컨테이너 이미지를 기반으로 클러스터 내에서 배포 및 관리 |
Spring Cloud Kubernetes
- Spring Cloud와 Kubernetes의 통합을 지원함
- 서비스 디스커버리, ConfigMap, Secrets 등을 Spring Cloud 애플리케이션에서 사용할 수 있도록 지원함
- 주요 기능
- 서비스 디스커버리: Kubernetes API를 통해 서비스 인스턴스를 동적으로 검색하고 로드 밸런싱을 수행함
- 구성 관리: Kubernetes ConfigMap과 Secrets을 사용하여 애플리케이션 설정을 중앙에서 관리함
- 자동화된 배포: CI/CD 파이프라인과 통합하여 애플리케이션의 자동 배포와 관리를 지원함
쿠버네티스의 장단점 및 사례
- 장점: 확장성, 자동화, 유연성
- 단점: 복잡성, 운영 비용, 디버깅 어려움
- 성공 사례: Google, Netflix, Airbnb
- 실폐 사례와 교훈: 초기 설정의 복잡성, 리소스 관리의 중요성, 전문성 부족
🧩 최종 프로젝트

GitHub - qkrwns1478/spring-eureka-shop: MSA 실습
MSA 실습. Contribute to qkrwns1478/spring-eureka-shop development by creating an account on GitHub.
github.com
'내일배움캠프' 카테고리의 다른 글
| [내일배움캠프] Spring MVC 기초 정리 (0) | 2026.04.17 |
|---|---|
| [내일배움캠프] 개발 프로세스 가이드 (0) | 2026.04.16 |
| [내일배움캠프] Windows에서 Docker 설치하기 (1) | 2026.04.14 |
| [내일배움캠프] 보안 구성, Config 서버, 분산 추적, 이벤트 드리븐 (1) | 2026.04.14 |
| [내일배움캠프] 서비스 디스커버리, 로드 밸런싱, 서킷 브레이커, API 게이트웨이 (0) | 2026.04.13 |