Search

Spring Cloud

생성일
2024/02/16 06:22
태그
관련 개념
상태
완료

Spring Cloud

Spring Cloud란?

모놀리식 아키텍처가 아닌 MSA를 지원하기 위한 프레임워크가 스프링 클라우드이다. 스프링 클라우드는 환경 설정 관리나 서비스 검색, 회복성 처리, 라우팅, 프록시 등의 서비스를 제공하여, 분산 시스템에서 애플리케이션을 빠르게 개발하는데 목적을 두고 만들어진 프레임워크이다.
이러한 스프링 클라우드는 스프링 부트를 기반으로 하기 때문에, 스프링 부트를 반드시 포함해야한다.

Spring Cloud 하위 프로젝트

스프링 클라우드는 하위의 많은 프로젝트들을 가지고 있어 다양한 기능들을 선택하여 사용할 수 있다. 일반적으로 많이 사용되는 기능들은 다음과 같다.
Spring Cloud Config Sever
외부의 저장소에 토큰에 대한 정보나 환경 설정 정보를 저장하여 모아두고, 마이크로 서비스에서 해당 데이터 값을 참조해서 사용한다. 이를 통해 변경된 내용이 생긴더라도 마이크로 서비스를 재배포할 필요 없이, 외부 저장소의 데이터만 변경하면 적용된다. 이처럼 유지보수를 용이하게 만들어준다.
: 마이크로 서비스의 등록이나 위치정보 확인, 검색
Spring Cloud Gateway + Naming Server(Spring Cloud Netflix Eureka)
마이크로 서비스를 네이밍 서버에 등록해두고 위치를 확인하고 검색하는 용도로 사용한다. 네이밍 서버를 통해 위치 정보를 얻은 후, 외부에 있는 클라이언트 정보나 서비스 정보가 Gateway를 통해 로드 밸런싱 되거나 다른 마이크로 서비스로 진입점을 옮길 수 있다.
FeginClient
각 마이크로 서비스 간의 통신을 위해 REST 템플릿이나 FeignClient를 통해 통신한다.
Zipkin Distributed Tracing / Netflix API Gateway
시각화와 분산 추적 모니터링을 위해서 외부 모니터링 서비스를 연계해서 사용한다.
Hystrix
장애가 발생했을 때 빠르게 복구하기 위한 회복성 패턴을 위한 서비스를 구현해 사용한다.

참고