MSA ‐ Service Discovery - dnwls16071/Backend_Summary GitHub Wiki

📚 Spring Cloud Netflix Eureka

  • Spring Cloud Netflix Eureka는 마이크로서비스 아키텍처에서 서비스 디스커버리를 가능하게 해주는 오픈소스 라이브러리
  • 여러 개의 마이크로서비스가 분산되어 있을 때, 각 서비스가 어디에서 실행되고 있는지(어떤 IP와 포트에 있는지)를 자동으로 등록하고, 다른 서비스가 이를 찾아서 통신할 수 있도록 도와주는 “서비스 레지스트리” 역할을 수행
    • 서비스 레지스트리 서버(Eureka Server) : 각 마이크로서비스 인스턴스가 자신을 등록하는 중앙 서버
    • 서비스 디스커버리 클라이언트(Eureka Client) : 마이크로서비스가 Eureka 서버에 자신을 등록하고, 필요한 다른 서비스를 조회(디스커버리)할 수 있도록 해준다.
    • 자동 등록/갱신: 서비스 인스턴스가 주기적으로 서버에 상태를 알리기 때문에, 장애가 나서 내려간 인스턴스는 자동으로 레지스트리에서 제거

[ @EnableEurekaServer ]

  • 해당 Spring Boot 애플리케이션을 Eureka 서버로 동작하게 만든다.
  • 애플리케이션이 실행될 때 Eureka 서버가 구동되어 다른 마이크로서비스가 자신을 등록하고 서비스 디스커버리 기능을 사용할 수 있게 된다.
  • 서비스 레지스트리 서버의 역할을 하도록 설정하는 어노테이션이다.
# discovery-service-server
server:
  port: 8761 # 이 서버가 사용할 포트 번호를 8761로 지정합니다. Eureka 서버의 기본 포트입니다.

spring:
  application:
    name: discoveryservice # Spring Boot 애플리케이션의 이름을 discoveryservice로 지정

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false   
# discovery-service-client
server:
  port: 9001

spring:
  application:
    name: discoveryservice-client

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
        defaultZone: http://localhost:8761/eureka/

스크린샷 2025-06-03 02 24 47

📚 자료 정리