inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Spring Cloud Gateway - Custom Filter 적용 ➀

최신 webflux 라이브러리에서 yml 작성법

212

On_Nij

작성한 질문수 5

0

server:
  port: 8000

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://localhost:8761/eureka

spring:
  application:
    name: apigateway-service
  cloud:
    gateway:
      server:
        webflux:
          routes:
            - id: first-service
              uri: http://localhost:8081/
              predicates:
                - Path=/first-service/**
              filters:
                - AddRequestHeader=first-request, first-request-header2
                - AddResponseHeader=first-response, first-response-header2

            - id: second-service
              uri: http://localhost:8082/
              predicates:
                - Path=/second-service/**
              filters:
                - AddRequestHeader=second-request, second-request-header2
                - AddResponseHeader=second-response, second-response-header2


위처럼 weflux:라고 yml에서 작성해주셔야 잘 동작합니다.

spring-boot jpa 아키텍처 spring-cloud kafka msa rabbitmq

답변 2

0

Dowon Lee

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

정보 공유 감사드립니다.

최근 기존 강의에 대한 콘텐츠를 업데이트 중입니다. 해당 내용도 참고 하도록 하겠습니다.

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

On_Nij님께서 작성하신 YAML 파일은 Spring Cloud Gateway에서 WebFlux 모드로 서비스 라우팅을 설정하는 방법을 잘 설명하고 있습니다. 이 설정에서 주의해야 할 사항들을 설명드리겠습니다.

  1. YAML 구조:
    YAML 파일에서 들여쓰기도 중요하지만 문법적인 오류가 발생할 수 있습니다. 특히 routes 설정에서는 WebFlux를 명시하지 않는 경우도 있기 때문에, WebFlux 관련 코드가 필요한가에 따라 server.webfluxgateway.routes를 잘못 엮어 사용할 수 있습니다. 현재는 WebFlux과 관련된 구체적인 설정이 요구되지 않고, Spring Gateway의 설정 아래에 직접 routes를 정의해 주는 것이 일반적입니다.

  2. 잘못된 키 사용 가능성:
    예를 들어, webflux라는 키워드는 WebFlux 서버 설정을 구성할 때 주로 사용되곤 하지, gateway의 직접적인 설정에 포함되기보다는 Spring Boot의 설정 파일 전역적 설정으로 다뤄질 수 있습니다.

  3. 경로 및 필터 설정:

    • predicates: URI 경로를 기반으로 라우팅 규칙을 설정하는 곳입니다. Path를 통해 요청 경로 패턴을 정의하고 있습니다.
    • filters: 요청과 응답에 헤더를 추가하는 기능을 사용해 API 게이트웨이에서 중요한 역할을 합니다.

관련해서, 유사한 질문과 해결책을 찾기 위해 아래의 링크를 참고하시기 바랍니다:
- application.yml 파일 설정 관련 - YAML 구조와 설정에서 발생할 수 있는 오류에 대한 해결책을 확인할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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

0

85

1

강의 교안

0

75

1

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

0

79

1

api gateway 에서 인증 처리

0

66

1

섹션 19 질문드립니다

0

54

1

강의 자료 업데이트

0

84

1

부하분산 강의 섹션

0

57

1

강의자료는 어디에서?

0

72

1

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

0

110

1

전체 사용자 조회시 오류

0

59

1

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

0

113

2

학습 방향

0

96

2

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

0

86

2

kafka 강의

0

109

2

서비스 디스커버리 종류

0

87

2

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

0

117

2

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

0

90

2

Kafka Source Connect 버전 에러

0

85

2

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

0

81

2

강의자료 업데이트 문의

0

96

2

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

0

57

1

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

0

113

2

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

0

163

2

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

0

164

2