Note

[TIL] Spring Cloud 개념과 주요 기능

by 달쿨

TIL

상황

본격적으로 MSA에 대해 공부하게 되면서 Spring Cloud를 사용한다는 것을 알게 되어 조사해 보았다.

 

Spring Cloud 란

분산 시스템을 구현하고 운영하기 위해 필요한 다양한 기능들을 제공하는 스프링  프레임워크의 확장 서비스로, 마이크로서비스 아키텍처를 구현할 때 유용하게 사용된다.

공식 문서 Spring Cloud architecture highlights

 

제공하는 주요 기능과 모듈

정리해 본 흐름

  • Service Discovery 서비스 디스커버리:
    마이크로서비스 환경에서 서비스를 검색하고 호출하기 위한 기능
    Eureka, Consul, Zookeeper
  • API Gateway API 게이트웨이:
    여러 개의 마이크로서비스에서 제공하는 API를 단일 진입점으로 노출시켜 주는 역할
    Zuul, Spring Cloud Gateway
  • Distributed Configuration 분산 설정:
    마이크로서비스에서 필요한 설정 정보를 중앙에서 관리하고, 변경사항을 런타임 중에 적용할 수 있는 기능
    Spring Cloud Config
  • Distributed Tracing 분산 추석:
    분산 시스템에서의 트랜잭션 추적을 위한 기능
    Spring Cloud Sleuth, Zipkin
  • Load Balancing 로드 밸런싱:
    여러 개의 인스턴스에서 제공되는 서비스를 균등하게 분산시켜 주는 기능
    Ribbon, Spring Cloud LoadBalancer
  • Circuit Breaker 회로 차단기:
    마이크로서비스에서 일시적으로 문제가 발생하여 서비스가 다운될 때, 다운된 서비스에 대한 요청을 차단하고 다른 대체 서비스를 호출하는 기능
    Hystrix, Resilience4j

 

기본적인 개념 및 기능을 간단하게 알아봤고 해당 사항들에 대해 더 자세히 공부할 것이다.

 

참고

https://spring.io/projects/spring-cloud

 

Spring Cloud

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, short lived microservices and

spring.io

 

블로그의 정보

note

달쿨

활동하기