MSA

[MSA] Spring Boot - Spring Cloude Config 란? Config Server 생성

차노도리 2023. 4. 11. 21:53

Spring Clude Config

  • 마이크로서비스 아키텍처에서 구성 요소의 구성 관리를 위한 도구
  • 중앙 집중식 구성 서버에서 구성 정보를 저장하고, 클라이언트는 서버에서 구성 정보를 가져와서 자신의 설정에 적용한다.

 

application.yml 우선순위

application.yml -> applicatoin-name.yml -> application-name-<profile>

ConfigServer

의존성 주입 (build.gradle)

ext {
	set('springCloudVersion', "2021.0.6")
}

dependencies {
implementation 'org.springframework.cloud:spring-cloud-config-server'
	...
}

 

어플리케이션 부분에 컨피그 서버 등록

  • 어노테이션 추가
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;

@SpringBootApplication
@EnableConfigServer
public class ConfigRepoApplication {

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

}

설정 정보 가져오는 설정 파일 (application.yml)

server:
  port: 7502

spring:
  application:
    name: gugbab-config-repo
  cloud:
    config:
      server:
        git:
          uri: git 주소
          username: 아이디
          password: git 토큰 정보

 

 

MSA 서버에서 config 정보 가져오는 방법 3가지

  • 아래 처럼 설정 파일들 추가후 서버 재기동
  • Actuator refresh
  • spring cloud bus

의존성 주입 (build.gradle)

dependencies {
	implementation 'org.springframework.cloud:spring-cloud-starter-config'
    implementation 'org.springframework.cloud:spring-cloud-starter-bootstrap'
    ...
}

bootstrap.yml 생성 (application.yml 보다 먼저 읽음)

spring:
  cloud:
    config:
      uri: http://127.0.0.1:7502
      name: services  # repo등록된 파일이름