본문 바로가기

MSA

[KEUPANG] EurekaClient 설정

이전 페이지: eureka-server 생성
다음 페이지: .env 파일 생성

개요

  • eureka server에 각 서비스 모듈과 api-gateway를 등록해서 변화하는 서비스 모듈의 정보를 api-gateway가 감지할 수 있게 설정
  • eureka client 의존성 필수

eureka client 설정

일단 user 서비스 프로젝트에서 작업을 시작함 (서비스 여러 개 구성할 예정이라면 아래 과정을 똑같이 하면됨)

 

우선 eureka client 의존성을 추가

https://start.spring.io/ 에서 spring client를 추가하고 하단의 EXPLORE 클릭 (GENERATE 아님)

plugins {
  id 'java'
  id 'org.springframework.boot' version '3.4.0'
  id 'io.spring.dependency-management' version '1.1.6'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'

java {
  toolchain {
    languageVersion = JavaLanguageVersion.of(17)
  }
}

repositories {
  mavenCentral()
  maven { url 'https://repo.spring.io/milestone' }
}

ext {
  set('springCloudVersion', "2024.0.0-RC1")
}

dependencies {
  implementation 'org.springframework.cloud:spring-cloud-starter-config'
  testImplementation 'org.springframework.boot:spring-boot-starter-test'
  testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

dependencyManagement {
  imports {
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
  }
}

tasks.named('test') {
  useJUnitPlatform()
}

 

EXPLORE를 누르면 이렇게 build.gradle 에 복붙 시켜줄 코드가 등장

이 중에 이미 있는 코드도 있을 텐데 제외하고 필요한 부분만 넣으면 됨.


그 다음으로는 어노테이션을 추가

@EnableDiscoveryClient

@SpringBootApplication
@EnableDiscoveryClient
public class KeupangGatewayApplication {

    public static void main(String[] args) {

        System.setProperty("security_username", System.getenv("security_username"));
        System.setProperty("security_password", System.getenv("security_password"));
        SpringApplication.run(KeupangGatewayApplication.class, args);
    }

}

그 다음 application.yml 수정

eureka:
    client:
        fetch-registry: true
        register-with-eureka: true
        service-url:
            defaultZone: http://admin:admin@localhost:8761/eureka

혹시 docker에 eureka 서버를 띄우고 사용중이라면 defaultZone에 localhost로 접근하면 안됨. -> 관련 설명은 여기 링크 추가할 예정

그리고 또 defaultZone에 admin 이것 또한 eureka server에 적용된 admin의 username와 password 이므로 이렇게 공개되면 안됨

-> env 파일을 사용해서 해결 가능하고 그 설명 또한 여기 링크 추가할 예정

 

화면 중단에 application name과 함께 잘 생겨있다면 성공

위에 KEUPANG-GATEWAY는 블로그보다 개발 과정이 빨라서 생긴놈

'MSA' 카테고리의 다른 글

[KEUPANG] API Gateway 생성  (2) 2024.11.26
[KEUPANG] Eureka Server 생성  (0) 2024.11.25
[KEUPANG] User service project 생성  (0) 2024.11.25
[KEUPANG] config server 생성  (0) 2024.11.25
[KEUPANG] MSA Root Project 생성  (0) 2024.11.25