본문 바로가기
Spring Boot(JAVA)

4. Reactive - Spring MVC VS Webflux

by #Glacier 2024. 4. 4.
반응형

Spring Webflux란 무엇인지 알아보기 전에, Spring MVC와 비교해보자.

 

1. Reactor는 Reactive Stack에서는 필수로 사용되고, Reactive Streaming의 구현체로,

    Spring Security Reactive, data, webflux등의 비동기 처리의 기반이 된다.

 

2. Sevlet Stack은 Spring MVC에서 사용하는 요청 당 하나의 쓰레드 모델의 동기 I/O 스택이다.

    즉 웹 요청부터 비즈니스 로직 등 모든 것을 하나의 쓰레드가 담당한다.

    반면 Reactive Stack에서는 Netty가 먼저 Controller-Service까지 Reactor Netty가 담당하며, 

     DAO부터는 Reactor로 데이터를 전달하여 처리하게 된다.

 

3. Reactive Stack의 서블릿은 Netty와 Tomcat 다 가능하며, Servlet Stack에서는 주로 Tomcat이 사용된다.

 

4. Spring MVC는 Model-View-Controller로 구성되어 있으며 JDBC, JPA ORM, Nosql등을 사용한다.

    반면, Spring Data Reactive Repositories는 RDB의 경우 JPA ORM을 지원하지 않아 R2DBC(Reactive Relational Database Connectivity)를,

    이외에는 Mongo, Cassandra, Reactive Redis를 사용한다.

반응형