ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring Cloud Gateway - 1. Spring Cloud Gateway란
    Spring Cloud/Spring Cloud GateWay 2023. 12. 11. 17:07
    728x90

    4.1.0으로 공부하였습니다.

     

    영상을 찾아봤는데, 공식 다큐먼트가 잘되어있다고 해서 찾아봤다.


    번역기를 돌려보면 스프링6, 스프링 부트 3 및 반응형 프로젝트에 구축된 API 게이트웨이다. 라고 하는 것 같다.

     

    인터넷을 찾아봤는데, Spring MVC는 하나의 동기형? 방식으로 하나의 스레드가 하나의 일을 처리하는 구조인데, javascript의 promise처럼 비동기 방식으로 동작하는 기능을 하기위해 Spring WebFlux라는 것이 개발되었다고 한다. Spring cloud gateway는 저런 Spring WebFlux방식으로 개발된 기능이고, 클라이언트의 요청을 특정 조건(predicate)을 만족하는 주소로 보내는 역할을 한다고 한다.

     

     

    프로젝트에 어떻게 적용시켜주는지 알려주는 것 같다.

    그 것보다 important에 중요한 내용들이 적혀있다.

    • Spring Cloud Gateway는 Spring Boot , Spring WebFlux 및 Project Reactor를 기반으로 구축되었습니다 . 결과적으로, Spring Cloud Gateway를 사용할 때 친숙한 많은 동기 라이브러리(예: Spring Data 및 Spring Security)와 알고 있는 패턴이 적용되지 않을 수 있습니다. 이러한 프로젝트에 익숙하지 않은 경우 Spring Cloud Gateway로 작업하기 전에 해당 문서를 읽고 몇 가지 새로운 개념에 익숙해지는 것이 좋습니다.
      • 비동기 방식으로 적용되기 때문에 JPA와 JDBC같은 블로킹 방식을 사용하면 잘 사용 할 수 없다고 한다.
        • Webflux에 관해 나중에 따로 공부하기로 하고, Spring security 대신 Spring security reactive를, JDBC대신 mongodb나 redis를 사용하거나 최근에 나온 R2DBC를 사용한다고 한다.
    • Spring Cloud Gateway에는 Spring Boot 및 Spring Webflux에서 제공하는 Netty 런타임이 필요합니다. 전통적인 서블릿 컨테이너나 WAR로 구축된 경우에는 작동하지 않습니다.
      • Spring MVC는 Tomcat을 기본으로 사용한다고 알고있는데, 비동기를 지원하는 Netty가 Webflux에서는 기본인것 같다.
      • 나중에 Tomcat이 버전업을하면서 비동기를 지원한다고 한다

    Spring MVC와 Spring WebFlux의 사용하는 기술 벤다이어그램

     

    728x90
    반응형
    LIST

    댓글

Designed by Tistory.