Eureka Discovery Client 디펜던시를 꼭 추가해준다.
package com.example.userservice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class UserServiceApplication {
public static void main(String[] args) {
SpringApplication.run(UserServiceApplication.class, args);
}
}
클래스 레벨에 @EnableDiscoveryClient 어노테이션을 추가하여 이 어플리케이션이 Discovery Client로 동작할 것임을 알린다.
server:
port: 9001
spring:
application:
name: user-service
eureka:
client:
register-with-eureka: true
fetch-registry: true # EUREKA 서버로부터 인스턴스들의 정보를 주기적으로 가져올 것인지 설정
service-url:
defaultZone: http://localhost:8761/eureka
defaultZone의 포트는 앞서 만든 Eureka 서버 어플리케이션과 맞춰준다.
서버와 클라이언트 어플리케이션을 순차적으로 실행하고 Eureka 대시보드로 접근하면 Instances currently registered with Eureka 항목에 Eureka Client가 추가된 것을 확인할 수 있다.
같은 어플리케이션 여러 대 기동하기
VM Options -> -Dserver.port=9003
mvn spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=9003'
mvn clean compile package
java -jar -Dserver.port=9004 ./target/user-service-0.0.1-SNAPSHOT.jar