[Spring] 트랜잭션 분리 하기
들아가며숙소 예약 서비스를 개발하며 여러 명의 유저가 같은 날짜, 같은 숙소를 동시에 예약 시 발생할 수 있는 동시성 문제를 해결하고자, Redis 분산 락을 통해 락을 선점하는 스레드가 먼저 예약을 진행할 수 있는 구조를 설계해 문제를 해결했습니다.@Transactional@RoleCheck(Role.USER)public ReservationResponse booking(Long accommodationId, ReservationRequest request) { Accommodation accommodation = getAccommodation(accommodationId); User guest = getCurrentUser(); Reservation reservation = Reser..