반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Airflow
- Spring Error
- codedeploy
- Kafka
- aws
- COALESCE
- VPN
- bootstrap
- or some instances in your deployment group are experiencing problems.
- redis
- PostgreSQL
- kubeflow
- IntelliJ
- codebuild
- java bigdecimal
- 도커
- Spring
- Flux
- chart.js
- codedeploy error
- AWS CI/CD 구축하기
- Jenkins
- node
- codepipeline
- aws cicd
- docker
- Python
- SQL
- JavaScript
- chartjs
Archives
- Today
- Total
Small Asteroid Blog
[Spring] Spring Web MVC, WebFlux 의존성 동시 사용 본문
728x90
Spring Web MVC 와 WebFlux Reactive 환경에서 두 의존성을 같이 사용하면 문제가 발생한다.
동기/비동기 처리 방식 차이
MVC
- 서블릿 기반 컨테이너 (Tomcat, Jetty 등) 사용
- 동기적 요청-응답 모델로 요청이 처리될 때까지 쓰레드가 블로킹됨
WebFlux
- 비동기 서버 사용 (Netty 등)
- Reactive Streams 사용
- 요청-응답이 비동기적으로 처리되며 쓰레드 블로킹이 발생하지 않음
Spring Security 모듈 차이
MVC 와 WebFlux는 서로 다른 모듈을 제공한다.
두 모듈이 혼재하면 인증/인가 정보가 제대로 전달되지 않거나 null 로 처리될 가능성이 높다.
- MVC : spring-boot-starter-security
- WebFlux : spring-security-webflux
라이브러리 의존성 충돌
WebFlux 환경에서 DispatcherServlet 과 같은 컴포넌트를 사용하면 안된다.
WebClient 를 사용할 때 Webflux 가 아닌 RestTemplate 을 호출했는데 Security Context 가 손실되어 전달되었다.
위의 이유 말고도 다양한 이유가 있겠지만
프로젝트 성격에 따라 둘 중 하나를 선택해서 사용하는것을 추천한다.
728x90
반응형
'백엔드 > Spring' 카테고리의 다른 글
[Spring] MongoDB - MongoTemplate 과 Auditing (0) | 2024.12.01 |
---|---|
[Spring] MongoDB 와 Redis 트랜잭션의 한계 와 대안 (0) | 2024.11.29 |
[Spring] Spring WebFlux에서의 인증 및 인가 처리 (0) | 2024.11.27 |
[Spring] Reactive MongoDB Stream의 Flux, Mono 조회 방법 비교 (0) | 2024.11.22 |
[Spring] ReactiveMongoTemplate vs ReactiveMongoRepository (0) | 2024.11.07 |