본문 바로가기

webflux2

[Spring] Spring Web MVC, WebFlux 의존성 동시 사용 Spring Web MVC 와 WebFlux Reactive 환경에서 두 의존성을 같이 사용하면 문제가 발생한다.   동기/비동기 처리 방식 차이 MVC서블릿 기반 컨테이너 (Tomcat, Jetty 등) 사용 동기적 요청-응답 모델로 요청이 처리될 때까지 쓰레드가 블로킹됨WebFlux비동기 서버 사용 (Netty 등)Reactive Streams 사용요청-응답이 비동기적으로 처리되며 쓰레드 블로킹이 발생하지 않음 Spring Security 모듈 차이 MVC 와 WebFlux는 서로 다른 모듈을 제공한다. 두 모듈이 혼재하면 인증/인가 정보가 제대로 전달되지 않거나 null 로 처리될 가능성이 높다.MVC : spring-boot-starter-securityWebFlux : spring-securit.. 2024. 11. 28.
Spring WebFlux WebFlux 란 WebFlux 는 Spring 5에서 새롭게 추가된 모듈이다. 클라이언트, 서버에서 reactive 스타일의 어플리케이션 개발을 도와주는 모듈이며 Non-blocking 에 reactive streams 의 BackPressure을 지원하며 Netty, Servlet3.1+ 컨테이너와 같은 서버에서 실행된다. 위의 그림은 각각의 기능들과 공통점에 대해 나와있다. 위는 전반적인 WebFlux의 구조이다. WebFlux 를 사용하기 전에 WebFlux 가 왜 생겨났는지 궁금했다. WebFlux 가 생긴 이유 적은 수의 스레드와 최소한의 하드웨어 자원으로 동시성을 처리하고 리소스를 확장하기 위해서 만들어졌다. 이는 새로운 공통 API 가 생긴 이유가 됐으며, tomcat 이 아닌 netty와.. 2022. 4. 14.