이전 포스팅에서 Update Lock과 Exclusive Lock을 이용하여 동시성을 제어해본 후, 비교해보았습니다.🔒Update Lock의 경우, 시간은 적게 소요되지만 업데이트 시에만 락이 걸린다는 점에서 현재는 조회수만을 제어하기에 문제가 없지만, Select 쿼리 후 Update가 이루어지는 경우에는 Update 락을 사용하게 되면 문제가 발생할 수 있었습니다. 🔒Exclusive Lock의 경우, 정확성은 보장되지만 row 자체에 락을 걸기 때문에 성능 저하가 발생하는 것을 확인했습니다. 현재 프로젝트에서는 Update Lock을 사용하여도 문제가 없지만, 학습 차원에서 인메모리 db인 레디스의 분산락을 적용해보았습니다. 조회수 동시성 제어를 위한 고민과 Update Lock 적용공연 동..
공연 동행 구인 서비스의 1차 개발이 끝나고,리팩토링 사항 중 한가지인조회수 동시성 제어를 적용해보고자 합니다💪 동시성 문제란??동일한 데이터에 여러 개의 작업이 동시에 접근할 때 발생할 수 있는 문제를 의미합니다. 예를 들어, 하나의 데이터를 수정하려는 두 개의 작업이 동시에 이루어질 때, 한 작업이 데이터를 수정하는 동안 다른 작업이 수정되기 전의 데이터를 바탕으로 수정을 하게 될 수 있습니다. 이로 인해 데이터의 일관성이 깨지고 예상치 못한 결과가 발생하게 됩니다. 아래 코드는 동행 구인글 조회 시, 조회수가 1 증가하도록 설정한 코드입니다.@Service@RequiredArgsConstructorpublic class AccompanyServiceImpl implements AccompanySe..