Spring Cloud
마이크로서비스 아키텍처(MSA) 구축을 지원하는 Spring Framework 확장 프로젝트
마이크로서비스 환경에서는 여러 서비스가 독립적으로 실행되며 서로 통신 필요
이 과정에서 다음 문제 발생
Spring Cloud 사용
분산 시스템 문제 해결 지원
대표 기능
Spring Cloud 프로젝트 생성
Spring Initializr 사용
Spring Initializr 활용
Spring Boot 기반 프로젝트 생성 가능
Spring Cloud 의존성 추가하여 마이크로서비스 환경 구성 가능
마이크로서비스 환경에서는 서비스 IP와 Port 변경 가능
서비스 위치를 자동으로 관리하는 시스템 필요
대표 도구
서비스 등록 및 위치 조회 기능 제공
여러 서비스 인스턴스 존재 시
요청 분산 처리 필요
대표 도구
서비스 인스턴스
로드밸런서 사용
요청 자동 분산 처리
모든 API 요청을 관리하는 단일 진입점
대표 도구
기능
여러 서비스에서 사용하는 설정을 중앙에서 관리
대표 도구
구조
Git Repository → Config Server → Microservices
서비스 실행 시
Config Server에서 설정 조회
마이크로서비스에서는 하나의 요청이 여러 서비스 거침
요청 흐름 추적 필요
대표 도구
서비스 호출 흐름 확인 가능
서비스 간 비동기 통신 처리
대표 도구
메시지 브로커 기반 이벤트 처리 구조
Spring Cloud 기반 MSA 구조
Client → API Gateway → Service Discovery → Microservices
Microservices
각 서비스
Spring Cloud 활용 사례
분산 시스템 환경에서 서비스 관리 및 통신 지원
Spring Cloud
마이크로서비스 아키텍처 구축 지원 프레임워크
서비스 디스커버리, API Gateway, 로드 밸런싱 기능 제공
Spring Initializr 활용
Spring Cloud 기반 프로젝트 생성 가능