inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Spring Cloud Gateway - Custom Filter 적용 ➀

안녕하세요 LB 관련 질문 드려요!

282

edu student02

작성한 질문수 3

0

안녕하세요 강사님.
GatewayFilter 처리 과정에서 궁금한점 질문해요.
 
[spring cloud 공식문서](https://cloud.spring.io/spring-cloud-gateway/reference/html/) 참고하면서 강의를 듣고 있는데요
 
예제의 GatewayFilter는 real server(ex: localhost:9000/service1/**)의 url path pattern(service1) 을 통한 load balancing 인 것 같은데요.
제가 구현하고 싶은 LB는 어떠한 real server의 pattern을 갖고 처리하는 것이 아닌 ..
 
- ex
myService: localhost:1234/v1/api/helloworld
gateway: localhost:8080/myservice/v1/api/helloworld
 
Q1. pattern 없이 그냥 gateway server uri:8080/myservice/** 면 myService server 로 LB 되게 하고싶어요.
어떤 주제로 검색 해보면 될까요? 안되는걸까요?
 
Q2. spring cloud gateway를 담당하는 application server는 reverse-proxy 라고 할 수 있을까요?
 
감사합니다. 🙇🏻‍♂️
 

spring-boot spring-cloud JPA architecture Kafka msa

답변 1

1

Dowon Lee

안녕하세요, 이도원입니다. 

1. 질문하신 내용에서 패턴 없이 서비스를 호출한다는 의미가, 

apigateway-service-uri:[apigateway port]/myservice/** 를 호출했을 때, myservice/**로 이동되게 하고 싶다는 의미인가요? 그렇다면, application.yml 파일에 설정된 내용과 같은 상황인거 같은데, 다른 의미인지 알 수 있을까요? 

cloud:
gateway:
default-filters:
- name: GlobalFilter
args:
baseMessage: Spring Cloud Gateway Global Filter
preLogger: true
postLogger: true
routes:
- id: user-service
uri: lb://USER-SERVICE
predicates:
- Path=/user-service/**
- Method=GET
filters:
- RemoveRequestHeader=Cookie
- RewritePath=/user-service/(?<segment>.*), /$\{segment}
- AuthorizationHeaderFilter

위 설정은, /user-service로 요청되는 모든 api를 (/user-service/**) lb://USER-SERVICE 서비스로 전달하고, 전달 시 /user-service/** 요청을 /**로 변경하여 요청하라는 의미입니다. 따라서, user-service에서는 /**에 해당하는 내용으로 api의 end-point를 설정해서 구현하시면 됩니다. 

2. sping cloud gatway를 말씀하신 reverse-proxy 역할로 보셔도 될 것 같습니다. 

감사합니다.

kafka 업데이트 강의 듣고 시포요

0

79

1

강의 교안

0

64

1

마이크로서비스간 통신 시, 인증 처리

0

73

1

api gateway 에서 인증 처리

0

61

1

섹션 19 질문드립니다

0

48

1

강의 자료 업데이트

0

79

1

부하분산 강의 섹션

0

53

1

강의자료는 어디에서?

0

66

1

강의 자료는 어디서 다운 받을 수 있나요?

0

107

1

전체 사용자 조회시 오류

0

54

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

106

2

학습 방향

0

92

2

카프카 커넥터 사용 목적 문의

0

83

2

kafka 강의

0

102

2

서비스 디스커버리 종류

0

84

2

강의 자료에 대해서 궁금해요

0

109

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

85

2

Kafka Source Connect 버전 에러

0

80

2

소스커넥터는 사용안한 거 맞죠?

0

78

2

강의자료 업데이트 문의

0

92

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

53

1

강의 업데이트 계획이 궁금합니다.

0

106

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

157

2

어떤 것이 업데이트 된 건가요?

0

157

2