Thread Safe하게 처리해보자 (feat. synchronized , 낙관, 비관, named)
Back-end/Spring Boot, JPA2023. 6. 27. 01:46Thread Safe하게 처리해보자 (feat. synchronized , 낙관, 비관, named)

정합성 보장 WAS 여러대에서 정합성 보장 쓰기 DB가 여러대에서 정합성 보장 실행 속도 (실험) 작업 순서 처리 보장 동시성 고려 X X X X 1m 1s X synchronized X X X 4m 56s O 비관적 락 O O X 4m 32s O 낙관적 락 O O (#1) X 1m 5s X Redisson 락 O O O 4m 44s O #1 : 해줄 것으로 생각됨 동시성 고려를 하지 않은 경우 아래 이미지처럼 기대 예약 개수인 250개 보다 많은 366건이 예약됨을 알 수 있다 동시성 처리를 위해 synchronized를 사용한 경우 @Transactional synchronized public long bookPerformance(...) { //공연 예매 로직 } synchronized 위치가 저기..

image