
Spring MVC 같은 동기 트랜잭션 환경에서는 @Transactional 바깥에서 분산 락을 잡고, finally 블록에서 분산 락을 해제하면 큰 문제가 없습니다.하지만 WebFlux 환경에서는 이야기가 달라집니다.요청은 논블로킹(Non-blocking) 으로 처리

Spring WebFlux 환경에서 Redisson을 이용해 분산 락을 구현할 때,락을 해제하는 방법으로 보통 아래 두 가지가 있습니다forceUnlock()unlock(threadId)두 메서드는 겉보기엔 비슷하지만, 내부적으로 동작 방식과 안전성 측면에서 꽤 큰 차

이전 글에서 WebFlux 환경에서 분산 락을 Reactive 체인의 라이프사이클에 맞춰 안전하게 관리하는 방법을 다뤘습니다.락 획득과 해제 시점이 트랜잭션 커밋과 정확히 맞물리게 만들었고, 기능적으로는 문제가 없었습니다.하지만 부하 테스트를 통해 성능 측면에서 3가지