Spring에서 MSA 모식도 - 개념 정리

johaS2·2025년 2월 8일

Spring에서 MSA 모식도

  1. Spring Boot
    • 각 마이크로서비스를 독립적으로 실행하고 관리하기 위해 사용됨
    • 빠른 개발과 배포를 지원하며, 내장 서버를 제공하여 별도의 WAS 설정 없이 실행 가능
  2. Spring Cloud
    • MSA를 효율적으로 구축하고 운영하기 위한 다양한 기능을 제공하는 프레임워크
    • 서비스 디스커버리(Eureka), API Gateway, Config Server, Resilience4j 등 MSA에서 필수적인 요소들을 포함
  3. Spring Cloud Gateway
    • 클라이언트와 마이크로서비스 간의 중재 역할을 수행하는 API Gateway
    • 인증, 로드 밸런싱, 라우팅을 처리하며, 마이크로서비스의 엔드포인트를 하나의 접점으로 통합
    • 서비스 장애 시 리트라이 및 서킷 브레이커 기능도 제공 가능
  4. Spring Cloud Eureka Server
    • 서비스 디스커버리(등록 및 검색) 기능을 제공하는 서버
    • Eureka Client로 등록된 마이크로서비스 정보를 저장하고 모니터링
    • API Gateway가 Eureka Server로부터 서비스 목록을 받아, 클라이언트 요청을 적절한 서비스로 라우팅할 수 있도록 지원
  5. Spring Cloud Eureka Client
    • Eureka Server에 서비스 정보를 등록하는 마이크로서비스(Spring Boot 애플리케이션)
    • Eureka Server에 주기적으로 자신의 상태를 전달하여 가용성을 유지하고, 서버에서 해당 서비스의 변경 사항을 감지할 수 있도록 함
    • 다른 서비스는 Eureka Server를 통해 이 클라이언트를 찾아 호출할 수 있음
  6. Spring Cloud Config Server
    • 마이크로서비스의 설정을 중앙에서 관리할 수 있도록 제공하는 서버
    • 특정 경로(URL)로 접근하면 미리 설정된 환경 변수 값을 제공
    • 운영 환경별 설정을 다르게 적용 가능
  7. Config Repository
    • Config Server에서 참조하는 실제 설정 저장소
    • 일반적으로 GitHub, GitLab과 같은 원격 저장소에 설정 파일(yml, properties 등)을 저장하여 관리함
    • Config Server는 이 저장소의 데이터를 읽어와 마이크로서비스에 제공
  8. Spring Cloud Config Client
    • Config Server로부터 설정 정보를 가져와서 사용하는 마이크로서비스
    • 설정 변경 사항을 자동으로 반영할 수 있으며, @RefreshScope를 사용하면 애플리케이션을 재시작하지 않고도 설정 값을 갱신 가능
profile
passionate !!

0개의 댓글