티스토리 뷰
@EnableConfigServer는 Spring Cloud Config 프로젝트에서 사용하는 애노테이션으로, 이 애플리케이션을 Config Server로 동작하게 만든다는 의미입니다.
✅ @EnableConfigServer의 역할
이 애노테이션을 붙이면, 이 애플리케이션이 Spring Cloud Config Server가 되어:
- Git, 파일 시스템, Vault, JDBC 등에 저장된 설정 파일을 읽어와서,
- 다른 마이크로서비스들에게 중앙 집중 방식으로 설정 값을 제공할 수 있게 됩니다.
즉, 이 앱이 중앙 설정 서버 역할을 합니다.
🧩 작동 방식 요약
- Config Server는 Git 또는 다른 저장소에서 설정 파일을 로드합니다.
- 클라이언트 애플리케이션(예: user-service, order-service 등)은 이 Config Server에 application.yml, application-{profile}.yml을 요청합니다.
- Config Server는 요청에 맞는 설정 파일 내용을 JSON 형태로 반환합니다.
🗂️ 예시 디렉토리 구조 (Git 저장소 기준)
config-repo/
├── application.yml
├── user-service.yml
├── order-service-dev.yml
├── order-service-prod.yml
🔧 기본 설정 예시 (application.yml in Config Server)
spring:
cloud:
config:
server:
git:
uri: https://github.com/my-org/config-repo
clone-on-start: true
application:
name: config-server
server:
port: 8888
위 설정은 Config Server가 GitHub의 설정 파일을 읽어오며, 기본 포트는 8888입니다.
🖥️ 클라이언트 서비스에서의 설정 예시
클라이언트 마이크로서비스는 이렇게 설정합니다:
spring:
application:
name: user-service
cloud:
config:
uri: http://localhost:8888
그러면 user-service는 config-server에게 user-service.yml을 요청해서 설정을 가져옵니다.
📦 의존성 (Gradle 기준)
dependencies {
implementation 'org.springframework.cloud:spring-cloud-config-server'
}
Spring Boot 버전에 맞는 Spring Cloud BOM(Bill of Materials)도 같이 설정해야 합니다.
🔄 요약
항목설명
@EnableConfigServer | 이 앱을 Spring Cloud Config Server로 지정 |
주요 기능 | 설정 중앙화, Git/파일 시스템/Vault에서 설정 로드 |
일반 사용 포트 | 8888 |
클라이언트 연동 방식 | spring.cloud.config.uri로 설정 서버를 지정 |
장점 | 마이크로서비스 설정 통합 관리, 버전 관리(Git 연동) |
'Skill > spring' 카테고리의 다른 글
RabbitMQ (1) | 2025.05.06 |
---|---|
Spring Cloud란? (0) | 2025.05.05 |
@Lazy(false) (0) | 2025.05.05 |
@EnableDiscoveryClient (0) | 2025.05.05 |
HSTS 관련 설정 (0) | 2025.04.07 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- getter
- lombok
- 전후방탐색
- springboot
- PostgreSQL
- Javascript
- 프로젝트명변경
- caniuse
- border-collapse
- DatePicker
- $.each
- sumifs
- $.extend
- 여러 컬럼 update
- element위치
- JQuery
- CSS
- Keycode
- ul li로 테이블
- object key
- excel
- spring
- QueryDSL
- @ExceptionHandler
- setter
- 진열사랑
- draw.io
- 정규식
- devtools
- oracle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함