[MSA] Spring Cloud로 MSA를 개발해보자 5편 [Config]

2024. 8. 26. 01:24· Java/Spring Boot
목차
  1. 1. Spring Cloud Config란?
  2. 2. application.yml 우선순위
  3. 3. ecommerce.yml 파일 생성
  4. 4. config-service -> application.yml
  5. 5. spring cloud config 실행
  6. 6. bootstrap.yml
  7. 7. Spring boot Actuator
  8. 8. application.yml 내용 추가
  9. 9. 테스트
  10. 10. GateWay에 Config 연동
  11. 11. 라우트 추가

1. Spring Cloud Config란?

- 분산 시스템에서 서버 클라이언트 구성에 필요한 설정 정보(application.yml)을 외부 시스템에서 관리

- 하나의 중앙화된 저장소에서 구성요소 관리 가능

- 각 서비스를 다시 빌드하지 않고, 바로 적용 가능

- 애플리케이션 배포 파이프라인을 통해 DEV-UAT-PROD 환경에 맞는 구성 정보 사용

 

2. application.yml 우선순위

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

 

3. ecommerce.yml 파일 생성

디렉토리 생성 후 ecommerce.yml 파일 생성

$ git add ecommerce.yml
$ git commit -m "upload ecommerce yml file"

 

4. config-service -> application.yml

server:
  port: 8888

spring:
  application:
    name: config-service
  cloud:
    config:
      server:
        git:
          uri: file:///C:/Users/PC/Desktop/project/git-local-repo

 

5. spring cloud config 실행

http://localhost:8888/ecommerce.default

name은 yml 파일의 이름이다

 

 

6. bootstrap.yml

@GetMapping("/health_check")
    public String status() {
        return String.format("It's Working in User Service"
                + ", port(local.server.port)=" + env.getProperty("local.server.port")
                + ", port(server.port)=" + env.getProperty("server.port")
                + ", token secret=" + env.getProperty("token.secret")
                + ", token expiration time=" + env.getProperty("token.expiration_time"));
    }
// bootstrap.yml
spring:
  cloud:
    config:
      uri: http://127.0.0.1:8888
      name: ecommerce

ecommerce.yml의 내용이 불러와졌다

7. Spring boot Actuator

Spring boot Actuator : Application 상태, 모니터링. Metric 수집을 위한 Http End Point 제공

 

설정파일의 내용이 변경될 때마다 커밋, 서버 재기동을 해야되는데 너무 번거롭고 비효율적이다

이럴 때 Actuator을 사용하면 간편하다

Actuator End Point List

 

53. Endpoints

Actuator endpoints let you monitor and interact with your application. Spring Boot includes a number of built-in endpoints and lets you add your own. For example, the health endpoint provides basic application health information. Each individual endpoint c

docs.spring.io

 

8. application.yml 내용 추가

management:
  endpoints:
    web:
      exposure:
        include: refresh, health, beans

 

9. 테스트

1). actuator/health

 

2). actuator/beans

 

3). actuator/refresh

ecommerce.yml 수정 커밋 ->  Postman -> POST로 요청

git add ecommerce.yml
git commit -m "test commit"

 

 

10. GateWay에 Config 연동

// gatewayServiceApplication.java
@Bean
	public HttpTraceRepository httpTraceRepository() {
		return new InMemoryHttpTraceRepository();
	}

 

11. 라우트 추가

        - id: user-service
          uri: lb://USER-SERVICE
          predicates:
            - Path=/user-service/actuator/**
            - Method=GET, POST
          filters:
            - RemoveRequestHeader=Cookie
            - RewritePath=/user-service/(?<segment>.*), /$\{segment}
            - AuthorizationHeaderFilter

 

 

'Java > Spring Boot' 카테고리의 다른 글

[MSA] Spring Cloud로 MSA를 개발해보자 7편 [설정 정보 암호화]  (0) 2024.08.28
[MSA] Spring Cloud로 MSA를 개발해보자 6편 [Spring Cloud Bus]  (1) 2024.08.27
[MSA] Spring Cloud로 MSA를 개발해보자 4편 [JWT 인증]  (0) 2024.08.25
[MSA] Spring Cloud로 MSA를 개발해보자 3편 [Gateway Service-2]  (0) 2024.08.16
[MSA] Spring Cloud로 MSA를 개발해보자 2편 [Gateway Service]  (1) 2024.08.13
  1. 1. Spring Cloud Config란?
  2. 2. application.yml 우선순위
  3. 3. ecommerce.yml 파일 생성
  4. 4. config-service -> application.yml
  5. 5. spring cloud config 실행
  6. 6. bootstrap.yml
  7. 7. Spring boot Actuator
  8. 8. application.yml 내용 추가
  9. 9. 테스트
  10. 10. GateWay에 Config 연동
  11. 11. 라우트 추가
'Java/Spring Boot' 카테고리의 다른 글
  • [MSA] Spring Cloud로 MSA를 개발해보자 7편 [설정 정보 암호화]
  • [MSA] Spring Cloud로 MSA를 개발해보자 6편 [Spring Cloud Bus]
  • [MSA] Spring Cloud로 MSA를 개발해보자 4편 [JWT 인증]
  • [MSA] Spring Cloud로 MSA를 개발해보자 3편 [Gateway Service-2]
누리는 귀여워
누리는 귀여워
안녕하세요, 누리 사료값을 벌기 위해 앞으로 나아가는 아버지의 개발 블로그입니다.
누리는 귀여워
누리아버지
누리는 귀여워
전체
오늘
어제
  • 분류 전체보기 (76)
    • Java (0)
      • Spring Boot (16)
      • JPA (1)
    • JavaScript (1)
      • React.js (1)
    • DataBase (3)
      • PostgreSQL (2)
    • DevOps (2)
      • MSA (1)
      • Docker (1)
    • OS (9)
    • Network (0)
    • CS 지식 (0)
    • Error 모음집 (0)
    • 코딩테스트 (32)
      • 기초 (31)
      • 알고리즘 (1)
    • 기타 (7)
    • 쉼터 (2)
      • 잡담 (2)
      • 하루 마무리 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

공지사항

인기 글

태그

  • Oracle Cloud
  • 인텔리제이
  • centos
  • JPA
  • postgresql
  • git bash
  • 깃허브연동
  • Dockerfile
  • war 배포
  • spring boot
  • GATEWAY
  • Docker
  • kafka connect
  • MSA
  • spring cloud
  • eureka
  • postman
  • Kafka
  • Boot
  • kafka sink connect

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
누리는 귀여워
[MSA] Spring Cloud로 MSA를 개발해보자 5편 [Config]
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.