Skip to Content
Suffering builds character
Daily클라우드 네이티브MSA5.Spring Cloud의 하위 프로젝트들

5.Spring Cloud의 하위 프로젝트들

1-1. Spring Cloud Config

분산된 서비스들 간에 공유되는 설정 정보(Environment)를 git repository와 같은 저장소를 통해 중앙 집중화하여 관리, 버전 관리를 통해 설정의 변경 이력을 추적하며 롤백하는 기능을 제공

서비스들이 동일한 구성 값을 공유하고, 변경 사항이 발생할 때 신속하게 전파할 수 있음

1-2. Spring Cloud Netflix Eureka

Netflix OSS의 구성요소들을 통합한 프로젝트

서비스 디스커버리 역할을 수행하는 Eureka, Zuul 등이 대표적 서비스 등록과 탐색(Service Registration and Discovery) 기능을 제공함

마이크로서비스 아키텍처에서 각 마이크로 서비스들이 자신의 위치(IP, 포트 등)와 기능 정보를 등록하고, 다른 서비스들은 이 정보를 사용하여 필요한 서비스를 찾아 호출할 수 있도록 정보를 제공해주는 기능

이를 통해 서비스들 간의 통신이 용이해지고, 유연하고 확장 가능한 아키텍처를 구성할 수 있게됨

1-3. Spring Cloud Gateway

사용자의 요청에 따라 적절한 마이크로서비스를 호출할 수 있도록 Routing 처리 역할을 수행하는 기능을 제공하는 프로젝트

예를 들어, 특정 URL 패턴에 따라 다른 서비스로 요청을 라우팅하거나, 로드 밸런싱을 적용하여 트래픽을 분산시킬 수 있음

1-4. Spring Cloud Sleuth & Zipkin

애플리케이션 동작 과정에서 발생한 로그 기록을 수집하고 분산 환경에서 발생할 수 있는 서비스들의 동작 기록을 추적하여 제공해주는 프로젝트

1-5. Spring Cloud Stream

여러 서비스들 간에 비동기적(Asynchronous)으로 메시지를 주고받는 기능을 제공하는 프로젝트 이를 통해 느슨하게 결합된 서비스들이 효과적으로 상호 작용하고, 이벤트 기반 아키텍처를 구현할 수 있음

그 외 다른 Main Project 참고

2. 스프링 클라우드 하위 프로젝트 요약

패턴 구분기능기술 스택
개발 패턴기본 마이크로서비스 패턴Spring Boot
구성 정보 저장 및 관리Spring Cloud Config
비동기 메시징 처리Spring Cloud Stream
라우팅 패턴서비스 디스커버리Spring Cloud Discovery
Spring Cloud Netflix Eureka
서비스 라우팅Spring Cloud API Gateway
로깅 패턴로그 상관관계Spring Cloud Sleuth, Micrometer
로그 수집Spring Cloud Sleuth / ELK / Prometheus
분산 추적Spring Cloud Sleuth / OpenZipkin
인증/인가 패턴인증/인가Spring Cloud Security / Oauth2 / JWT 등
빌드/배포 패턴CI(Continuous Integration)Jenkins
컨테이너 기반 서버 관리Docker, Kubernetes
회복성 패턴클라이언트 요청 부하 분산Spring Cloud Load Balancer
회로 차단기, 폴백, 벌크헤드Resilience4j
Last updated on