[Spring Cloud] - Eureka (Service Discovery Server) 사용하기

목차

참고

🔎 Service Discovery Server 로써의 Eureka

MSA (Micro Service Architecture) 환경에서는 서비스들이 하나의 서버에서 실행하는 환경이 아닌 각기 다른 서버에서 실행합니다. 특정 요청이 들어 왔을때 해당하는 서비스로 전달해주기 위해서는 각 서비스들이 어떤 서버에서 작동하고 있는지 알 필요가 있습니다.

Spring Cloud 에서는 Eureka 서버를 이용해 각 서비스들이 어떤 서버에서 작동중인지를 등록하고 중앙 집중식으로 관리할 수 있고, 실행중인 모든 서비스들을 한번에 찾아 통신할 수 있습니다. 보통 이런 역할을 하는 서버를 Service Discovery Server 라 부릅니다.

✅ Eureka 서버 사용하기

Eureka 를 Service Discovery Server 로 사용하기 위해서는 라이브러리 추가와 몇가지 설정이 필요합니다.

1. Eureka 사용을 위한 의존성 추가하기

애플리케이션을 Eureka Server 로 사용하기 위해 라이브러리를 추가해줍니다.

implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server'

2. @EnableEurekaServer

Service Discovery Server 로 작동하기 위해 @EnableEurekaServer 어노테이션을 추가하여 Eureka Server 를 구성합니다.

@SpringBootApplication
@EnableEurekaServer
public class DiscoveryServiceApplication {

public static void main(String[] args) {
SpringApplication.run(DiscoveryServiceApplication.class, args);
}

}

3. Properties 설정 추가

  • eureka.client.register-with-eureka
    • 레지스트리 서버에 본인을 등록할지 여부를 설정합니다.
  • eureka.client.fetch-registry
    • 레지스트리 정보를 가져올지 여부를 설정합니다.
application.yml
spring:
application:
name: discoveryservice

eureka:
client:
register-with-eureka: false
fetch-registry: false

✅ Eureka 서버 확인

설정 후 서비스를 구동시키면 http://localhost:8761/eureka 에서 아래와 같이 Eureka 서버가 작동중인것을 확인할 수 있습니다.

Eureka Server Dashboard

Share