Spring WebFxxx

2025-09-16

나는 Spring Webflux를 정말 열심히 공부했다. 그리고 나는 Spring Webflux가 싫다. 싫어하는 이유는 적지 않겠다.

그래도, 내가 Spring Webflux를 공부하면서 느꼈던 장점은

“정확히 말하자면 무엇을 할지 미리 정하고, 언제 실행할지는 나중에 결정할 수 있어야한다.” 이게 가장 큰 장점이였다.

Mono를 발행하고선, 구독을 하지 않으면 동작하지 않는다. ← 이것 자체로 Method의 Flow를 미리 구체화할 수 있는 것이다.

그래서 Reactor 기반의 Webflux를 사용하다가, Kotlin Coroutine 기반의 Webflux를 사용했을 때 굉장히 불편한 점이 많았다. scope를 확실하게 적용할 수 잇는 건 Coroutine의 장점이긴 했다.

또 내가 느꼈던, Webflux의 장점은 코드의 품질을 더 생각해볼 수 있는 점이다.

Webflux를 사용하면 코드 복잡성이 마구마구 올라 더 이상 코드를 알아볼 수 없을 지경이 되어버린다.

괜히 적용했다고 많이 생각했다. 난 바보가 맞다.

나는 닌자가 아니니 다른 사람이 이해할 수 있도록 Method Chaining의 Depth를 통일한다던가 Application Service의 로직을 최소화 해야했다.

로직은 도메인 모델로, Application Service에서는 행위의 조합만을 다룰 수 있도록.

선언적인 코드를 작성하다가, 명령형 프로그래밍을 하면 이질감을 많이 느끼는 것 같다.