[개발 일기] 2025.05.18 - Spring Flux을 많이 사용하지 않는 이유?

2025. 5. 18. 19:47·개발 일기

💡 개요

 

오늘은 Spring에서 제공하는 비동기 프로그래밍 기술인 Spring Flux이 실제론 많이 사용되지 않는다고 하는데, 이 이유에 대해 정리해 보자.

 

 

TMI : 오늘 코테봄. 그래서 피곤하다.. 😥

 

 

 

🛠️ Spring Flux

 

Spring Flux는 기본적으로 동기 방식을 사용하는 서버(Spring MVC)를 비동기 방식을 사용할 수 있도록 해주는 프레임워크 기술이다.

 

 

사실 난 비동기 방식을 구현해 본 경험이 거의 없다. (동기도 잘 못하는데..)

 

 

굳이 비동기 방식과 관련된 경험을 따지자면, Spring Cloud Gateway를 사용할 때 비동기적인 방식이 기본 동작 방식이라, WebFlux를 어쩔 수 없이 사용하게 된 정도다.

 

 

그렇다면 Flux을 왜 많이 사용하지 않을까?

 

 

 

✅ Spring WebFlux가 잘 안 쓰이는 이유

 

🔥 어렵다

  • Mono, Flux, map, flatMap, subscribe 등 기존 MVC 개발자에게는 생소한 개념이 많다.
  • 뿐만 아니라 문제가 발생할 경우, 디버깅도 어렵다.

 

🔥 기본적으로 내부의 모든 구성 요소가 Reactive 해야 한다. (가장 큰 이유지 않을까..)

  • 대표적으로 DB에 접근하는 것과 같은 모든 I/O 작업이 논블로킹이어야 진짜 효과를 볼 수 있다.
  • 하지만 대부분의 DB (특히 JPA, JDBC)는 Blocking 기반이다. → 이걸 쓰면 WebFlux의 장점이 사라진다.

 

🔥 서비스 구조가 단순하거나 트래픽이 낮으면 의미 없다.

  • 현재 많은 개발자들이 사용중인 동기 방식(Spring MVC)도 적절한 스레드 풀 튜닝으로 대부분의 서비스에서 충분히 좋은 성능을 낸다.
  • 대부분의 컴퓨터는 멀티스레드를 지원하기 때문에 충분히 서비스에서 동기방식을 사용하더라도 좋은 성능을 낼 수 있다.

 

 

👨🏻‍💻 참고

 

https://okky.kr/questions/1412539

'개발 일기' 카테고리의 다른 글

[개발 일기] 2025.05.20 - XSS  (0) 2025.05.20
[개발 일기] 2025.05.19 - ConcurrentHashMap이 HashMap보다 빠른 이유  (1) 2025.05.19
[개발 일기] 2025.05.17 - 비동기와 멀티스레딩?  (1) 2025.05.17
[개발 일기] 2025.05.16 - PSA (Portable Service Abstraction)  (0) 2025.05.16
[개발 일기] 2025.05.15 - 클래스마다 무조건 인터페이스를 생성??  (0) 2025.05.15
'개발 일기' 카테고리의 다른 글
  • [개발 일기] 2025.05.20 - XSS
  • [개발 일기] 2025.05.19 - ConcurrentHashMap이 HashMap보다 빠른 이유
  • [개발 일기] 2025.05.17 - 비동기와 멀티스레딩?
  • [개발 일기] 2025.05.16 - PSA (Portable Service Abstraction)
오도형석
오도형석
  • 오도형석
    형석이의 성장일기
    오도형석
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • MSA 모니터링 서비스
        • DB
      • 스파르타 코딩클럽
        • SQL
        • Spring
      • 백엔드
        • Internet
        • Java
        • DB
      • 캡스톤
        • Django
        • 자연어처리
      • Spring
        • JPA
        • MSA
      • ETC
        • ERROR
      • 개발 일기 N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 인기 글

  • 태그

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
오도형석
[개발 일기] 2025.05.18 - Spring Flux을 많이 사용하지 않는 이유?
상단으로

티스토리툴바