Spring/Cloud
[Spring Cloud] Eureka - 구성
RoyOps
2022. 4. 20. 14:30
이번 장에서는 Spring Cloud Netflix Eureka - 이론 에 이어 직접 디스커버리(유레카) 서버를 구축해본다.
모든 소스 코드는 깃허브 (링크) 에 올려두었다.
기본 프로젝트 구성
마이크로서비스의 특성상 한 번에 많은 프로젝트를 실행시켜야한다.
수많은 프로젝트를 위해 IDE를 여러개 실행시키기에는 무리가 있으므로 멀티 모듈로 구성하여 진행하도록 한다.
멀티 모듈 프로젝트 구성은 필자가 이전에 작성해놓은 글 (링크) 를 참고하도록 한다.
1. 의존성 추가
유레카 서버를 구축하기 위해 필요한 의존성이므로 전부 추가하도록 한다.
ext {
set('springCloudVersion', "2021.0.1")
}
dependencies {
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
2. MainClass 수정
main 메서드가 있는 클래스에 @EnableEurekaServer 애노테이션을 작성해준다.
@EnableEurekaServer
@SpringBootApplication
public class DiscoveryApplication {
public static void main(String[] args) {
SpringApplication.run(DiscoveryApplication.class, args);
}
}
3. application.yml 수정
서버가 사용할 포트를 8761로 지정하였다.
애플리케이션의 이름을 discovery로 지정하였다.
eureka.client.register-with-eureka와 eureka.client.fetch-registry는 기본값이 true다.
유레카 서버의 경우 두 기능이 필요없으므로 false 처리한다.
server:
port: 8761
spring:
application:
name: discovery
eureka:
client:
register-with-eureka: false
fetch-registry: false
4. 정상작동 확인
애플리케이션을 실행시키고 브라우저로 이동하여 localhost:8761으로 접속한다.
아래의 이미지와 같은 화면이 나온다면 정상적으로 유레카 서버 구축이 완료된 것이다.