Spring Cloud Gateway 와 Eureka 는 아래와 같은 프로세스로 동작한다.
- 클라이언트가 요청을 보낸다.
- API Gateway는 Eureka 서버를 통패 해당 엔드포인트의 주소값을 찾는다.
- API Gateway는 Eureka 서버로 부터 받은 주소를 사용해 요청을 보낸다.
- 응답을 받아 클라이언트에게 응답한다.
1) Spring Cloud Gateway 와 Eureka 연동 초기 설정
먼저 Spring Cloud Gateway와 Eureka 서버 예제를 작성 한 상태에서 진행한다.
- 관련 글
- 소스코드
2) Eureka Client 등록
apigateway-service, first-service, second-service 를 Eureka 서버에 등록한다.
설정 방법은 지난 글 참고
2024.01.19 - [Spring Cloud] - Service Discovery - Spring Cloud Netflix Eureka 설정
Eureka Dashboard
3) Spring Cloud Gateway 설정 수정
Eureka 서버에 등록 된 정보를 바탕으로 설정을 수정한다.
application.yaml
spring:
application:
name: apigateway-service
cloud:
gateway:
routes:
- id: first-service
# uri: http://localhost:8081/
uri: lb://FIRST-SERVICE
predicates:
- Path=/first-service/**
- id: second-service
# uri: http://localhost:8082/
uri: lb://SECOND-SERVICE
predicates:
- Path=/second-service/**
filters:
- AddRequestHeader=second-request, second-request-header
- AddResponseHeader=second-response, second-response-header
- spring.cloud.gateway.routes
- uri 를 “lb://Eureka에 등록된 이름” 으로 수정하였다.
기존과 동일하게 동작하는 것을 확인할 수 있다.
참고
'Spring Cloud' 카테고리의 다른 글
Oepn Feign (0) | 2024.03.11 |
---|---|
Service Discovery - Spring Cloud Netflix Eureka 설정 (0) | 2024.03.11 |
Spring Cloud Gateway 개념 및 설정 방법 (0) | 2024.03.11 |
Service Discovery (0) | 2024.03.11 |
Spring Cloud Config (2) - Actuator refresh (0) | 2024.03.11 |