반응형
Spring Cloud는 MSA 에서 개발/배포/운영 등에 필요한 기능과 아키텍처를 쉽게 구성할수 있도록 지원하는 Spring Boot기반의 Framework 이다.(MSA 에 대해서는 아래 참고 포스팅 참고)
공식 홈페이지에서도 지원을 하고 있다.
아래 사이트를 참고 바란다.
https://spring.io/projects/spring-cloud
Spring Cloud의 핵심 component들은 사이트에서 확인 가능하지만 아래 사진과 같이 사이트에서 정리 되어있다.
Spring cloud 에서는 아래와 같은 기능들을 제공한다.
- 서비스 디스커버리(Service Discovery)
서비스 디스커버리는 마이크로서비스 환경에서 서비스를 검색하고 호출하기 위한 기능
스프링 클라우드는 Netflix OSS의 Eureka, Apache ZooKeeper, Consul 등 다양한 서비스 디스커버리 툴과 통합되어 있음 - API 게이트웨이(API Gateway)
API 게이트웨이는 여러 개의 마이크로서비스에서 제공하는 API를 단일 진입점으로 노출시켜 주는 역할
스프링 클라우드는 Netflix OSS의 Zuul, Spring Cloud Gateway 등 다양한 API 게이트웨이를 제공 - 분산 설정(Distributed Configuration)
분산 설정은 마이크로서비스에서 필요한 설정 정보를 중앙에서 관리하고, 변경사항을 런타임 중에 적용할 수 있는 기능
스프링 클라우드는 분산 환경에서의 설정 관리를 위한 Spring Cloud Config를 제공 - 분산 추적(Distributed Tracing)
분산 추적은 분산 시스템에서의 트랜잭션 추적을 위한 기능
스프링 클라우드는 분산 추적을 위한 Spring Cloud Sleuth와 Zipkin을 제공 - 로드 밸런싱(Load Balancing)
로드 밸런싱은 여러 개의 인스턴스에서 제공되는 서비스를 균등하게 분산시켜 주는 기능
스프링 클라우드는 Ribbon을 사용한 로드 밸런싱을 제공 - 회로 차단기(Circuit Breaker)
회로 차단기는 마이크로서비스에서 일시적으로 문제가 발생하여 서비스가 다운될 때, 다운된 서비스에 대한 요청을 차단하고 다른 대체 서비스를 호출하는 기능
스프링 클라우드는 Netflix OSS의 Hystrix를 사용한 회로 차단기를 제공
이 기능들을 보면 예전에 다뤘던 글이 하나있는데
Service Mesh 와 기능이 비슷하다.
결국 spring cloud 기반으로 여러개가 묶여서 MSA 들이 동작하는것이 ServiceMesh 이기 때문이다.
용어는 조금씩 달라도 추구하는 방향이 비슷하니 묶어서 공부하면 좋을듯하다.
참고 포스팅
https://thenicesj.tistory.com/806
https://thenicesj.tistory.com/96
반응형
'IT > Java' 카테고리의 다른 글
[Error] Request header is too large. 에러 (13) | 2024.05.17 |
---|---|
NamedQuery 에 대해 (16) | 2024.05.07 |
RestTemplate 에 대해서 (21) | 2024.05.03 |
Apache HttpClient 와 CloseableHttpClient 차이점 +(DefaultHttpClient / HttpClientBuilder) (29) | 2024.05.01 |
줄바꿈 하기 (\n, \r, \r\n 의 차이) / System.lineSeparator() (31) | 2024.04.30 |
댓글