Tech
JVM 동시성 모델 이해하기 (8) – 총정리 — 언제 무엇을 선택할 것인가
JVM 동시성 8부작 시리즈의 마지막. Virtual Thread, Reactor, Coroutines 중 무엇을 선택할지 네 가지 질문으로 정리하고, 기술별 고유 강점과 흔한 오해를 짚는다.
5개의 글
JVM 동시성 8부작 시리즈의 마지막. Virtual Thread, Reactor, Coroutines 중 무엇을 선택할지 네 가지 질문으로 정리하고, 기술별 고유 강점과 흔한 오해를 짚는다.
Spring이 suspend fun을 mono {}로 감싸 Reactor 파이프라인에 태우는 방식과, AOP 프록시가 COROUTINE_SUSPENDED를 메서드 종료로 오인하는 구조적 한계 — @Transactional + 코루틴이 안 되는 이유까지.
Spring MVC의 1요청-1스레드 한계에서 출발해 Netty 이벤트 루프 구조, MVC vs WebFlux 요청 처리 비교, 이벤트 루프에서 하면 안 되는 것까지 — WebFlux의 동작 원리를 파헤친다.
Pull vs Push 모델부터 Reactive Streams 4개 인터페이스, Reactor의 Mono/Flux와 핵심 연산자, backpressure까지 — 리액티브 프로그래밍의 뼈대를 잡는다.
WebFlux 이벤트 루프에서 ThreadLocal 기반 traceId 전파가 실패하는 이유와, Reactor Context의 Bottom-Up 전파 모델로 이를 해결하는 방법을 실전 예제로 다룬다.