/actuator/gateway/refresh
의 refresh
는 Spring Cloud Gateway에서 라우팅 설정 및 환경 설정을 동적으로 갱신하는 기능을 의미합니다.
✅ Spring Cloud Gateway의 refresh
란?
Spring Cloud Gateway는 라우팅 설정과 환경 설정을 애플리케이션 실행 중에 동적으로 갱신할 수 있습니다.
- 이때
/actuator/gateway/refresh
엔드포인트를 호출하면 Gateway의 라우팅 설정을 새로고침합니다. - 보통 Spring Cloud Config Server나 환경 변수, 설정 파일에 변경된 값을 반영하고자 할 때 사용됩니다.
✅ 기본 개념
라우팅 설정이란?
- Spring Cloud Gateway는 요청 경로(Route)를 정의하여 특정 서비스를 호출하도록 설정합니다.
- 예:
/api/order/**
→ Order Service로 라우팅
문제점
- 애플리케이션이 실행 중일 때 라우팅 설정을 변경하려면 서비스를 재시작해야 합니다.
- 이것은 운영 환경에서 중단 시간이 발생하는 문제를 일으킵니다.
/actuator/gateway/refresh
- 이 엔드포인트를 호출하면 실행 중인 애플리케이션을 재시작하지 않고 라우팅 설정을 동적으로 갱신합니다.
✅ 사용 예시
1. 라우팅 설정 변경 (application.yml)
예를 들어, application.yml
에서 라우팅 설정이 다음과 같다고 가정합니다.
spring:
cloud:
gateway:
routes:
- id: order-service
uri: http://localhost:8081
predicates:
- Path=/api/order/**
2. 라우팅 변경
application.yml
파일을 변경합니다.
spring:
cloud:
gateway:
routes:
- id: order-service
uri: http://localhost:8082 # 변경된 URI
predicates:
- Path=/api/order/**
3. /actuator/gateway/refresh 호출
/actuator/gateway/refresh
엔드포인트를 호출합니다.
HTTP 요청 예시:
curl -X POST http://localhost:8080/actuator/gateway/refresh
4. 설정 갱신
- Spring Cloud Gateway는 새 라우팅 설정을 즉시 반영합니다.
- 애플리케이션 재시작 없이 새로운 경로로 트래픽을 보낼 수 있습니다.
✅ 정리
/actuator/gateway/refresh
는 Spring Cloud Gateway의 라우팅 설정과 환경 설정을 동적으로 새로고침하는 기능입니다.- 설정 변경 사항을 애플리케이션 재시작 없이 즉시 반영할 수 있습니다.
- 이를 통해 운영 중인 시스템에서 라우팅 변경을 효율적으로 관리할 수 있습니다.
'Microservices Architecture' 카테고리의 다른 글
글로벌 필터(Global Filter) (0) | 2024.12.16 |
---|---|
Correlation ID (0) | 2024.12.16 |
리액티브(Reactive)와 논리액티브(Non-Reactive) (0) | 2024.12.16 |
Spring Cloud Gateway (4) | 2024.12.16 |
서비스 게이트웨이(Service Gateway) (0) | 2024.12.16 |