Spring WebFlux
Spring WebFlux
Spring WebFlux
- Spring 5에서 추가된 모듈
- 클라이언트와 서버에서 반응형 스타일의 애플리케이션을 도와줌
- 비동기 논블로킹 방식으로 메시지를 처리
- 함수형 스타일로 개발함
장단점
- 장점
- 비동기 논블로킹 방식이기 때문에, 트래픽이 많을 수록 MVC에 비해 성능이 좋음
- Context switch에 드는 비용을 최소화해서 최소 스레드로 최대 성능을 낼 수 있음
- Spring과 통합이 잘 되어 있으며, Netty도 지원함
- 단점
- 오류 처리가 복잡
- 기술적 난이도가 높음
- 아직 RDBMS에 대한 지원이 부족
- MVC의 스레드 모델도 충분히 빠르기 때문에 쓸 이유가 많지 않음
- 대용량 트래픽을 처리하는 서버가 아닌 이상 큰 성능상 이점이 없음
- 이런 이유들로 아직 실무에서는 거의 사용되지 않음
References
- https://devuna.tistory.com/108
- https://okky.kr/questions/1412539
- 김영한 - Spring MVC 강의 1편