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/

📚 자료 정리