상세 컨텐츠

본문 제목

SpringBoot MSA (3) - Service Discovery에 UserService 등록하기

Spring/SpringBoot-MSA

by ChrisMare 2023. 10. 3. 19:50

본문

 

UserServiceApplication.java

> @EnableEurekaClient 등록 (클라이언트라고 알리는 용도)

package com.ecommerce.userservice;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class UserServiceApplication {

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

}

 

application.yml

서버 포트 설정 및 Service Discovery 서버 URL 설정

server:
  port: 9001

spring:
  application:
    name: user-service

# eureka.client.register-with-eureka: true
# EUREKA 서버로부터 인스턴스들의 정보를 주기적으로 가져올 것인지를 설정하는 속성
# true 설정하면, 갱신 된 정보를 받겠다는 설정.
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    #해당 Service Discover 서버로 저장
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka

 

Service Discovery 서버 실행 후 User Service 서버 실행 후 Service Discovery 서버 확인

아래 Instances에 현재 등록된 유레카 클라이언트 서버(USER-SERVICE) 가 보인다.

USER-SERVICE를 여러개 등록하여 테스트할려면 아래를 참고하면 된다.

1. 아래 화살표 선택하여 Edit Configurations... 선택

2. 서버 새로 복사

3. Add VM Option으로 설정 파일 수정

4. 새로 설정된 UserServiceApplication-2 서버 실행

5. Service Discovery에 다시 Instance 가 등록되었는지 확인!

확인 결과 port: 9001, 9002의 User-Service 2개의 인스턴스가 등록된 것을 볼 수 있다.

다른 방법으로는 Terminal

mvn spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=9003'

 

해당 프로젝트 url 루트로 터미널에서 이동 후

1. mvn clean build compile

2. java -jar -Dserver.port=9004 ./target/user-service-0.0.1-SNAPSHOT.jar

 

위의 사항처럼 각각 실행하는 방법을 알게 되었지만 서버의 포트를 변경하거나 실행할 때 불편한 점이 많다.

이를 간단하게 해결해보자!

 

https://chrismare.tistory.com/entry/SpringBoot-MSA-4-UserService-Load-Balancer

관련글 더보기

댓글 영역