Spring Cloud 기반 MSA 구성

Spring Boot
- 각 마이크로서비스의 기본 서버
- 비즈니스 로직 담당
- REST API 제공
예시
Spring Cloud Gateway
역할
- 모든 요청의 입구
- URL 기반으로 서비스 분기
- 인증 / 권한 / 로깅 처리
Service Discovery (Eureka)
- MSA에서는 서버 IP가 자주 바뀜
- 직접 IP 관리 ❌
⇒ 서비스 이름으로 통신
Eureka Server
- 서비스 목록을 관리하는 서버
- 어떤 서비스가 살아있는지 관리
Eureka Client
- 각 Spring Boot 서비스
- 자신을 Eureka Server에 등록
Spring Cloud Config Server
역할
- 모든 서비스의 설정값 중앙 관리
- 환경별 설정 관리
예시
- dev/prod 환경 설정 분리, DB 계정, 포트, API 키
Config Repository
- 실제 설정 파일 저장소
- 보통 GitHub Repository 사용
Spring Cloud Config Client
- Config Server에서 설정을 가져오는 클라이언트
- 각 Spring Boot 서비스에 설정