728x90 Optimistic1 OptimisticLocking 을 이용한 최대인원 예약 동시성 처리하기 안녕하세요. 오늘은 아래의 요구사항을 OptimisticLocking 을 활용하여 해결해보겠습니다. 요구사항 진료에 대해서 하루에 최대 인원 까지 진료 예약을 할 수 있다. 주의사항: 남은 예약 인원이 1자리 일 경우 여러명이 동시에 예약을 신청할 경우에는 가장 빠른 한명만 예약 되어야 합니다. 잘못해서 최대 인원보다 많이 예약될 경우가 없어야겠죠 ! 가장 간단하게 해결하는 방법은 예약하는 기능을 담당하는 스레드를 직렬화 하는 synchronized 키워드를 활용하는 방법도 있습니다. 하지만 deadlock 이 발생할 수 있어 좋은 해결방안은 아닙니다. deadlock 은 ReentrantLock 을 활용하여 해결할 수 있지만 또 다른 문제점이 있습니다. 만약 다중 서버에서 분산해서 예약을 담당한다면 각.. 2022. 4. 23. 이전 1 다음 728x90