TIL

5. WebFlux 개요

두 개의 웹 스택

  Spring MVC Spring WebFlux
기반 API 서블릿 (동기·블로킹 전제) 리액티브 스트림 (논블로킹)
스레딩 요청당 스레드, 큰 풀 이벤트 루프, 소수 고정 스레드
기본 서버 Tomcat Netty
반환 타입 도메인 객체 Mono/Flux
데이터 접근 JPA/JDBC (블로킹) R2DBC·리액티브 드라이버 (논블로킹)

WebFlux는 왜 만들어졌나

프로그래밍 모델 두 가지

DispatcherHandler — 프런트 컨트롤러

특수 빈 역할
HandlerMapping 요청 → 핸들러로 매핑 (애노테이션 컨트롤러, URL 패턴 등 구현별 기준)
HandlerAdapter 매핑된 핸들러를 일반화된 방식으로 호출 — 호출 세부를 DispatcherHandler로부터 숨김
HandlerResultHandler 핸들러 결과를 처리해 응답을 완성 (직접 쓰기 또는 뷰 렌더링)

서버와 스레딩 모델

언제 WebFlux를 쓰나 (Applicability)

리액티브 vs 가상 스레드