optimisticlock1 DB Optimistick Lock : 쇼핑몰 서비스 개발시 발생할 수 있는 이슈 쇼핑몰 서비스를 제공할 때 개발자에게 발생할 수 있는 이슈가 있다. 쇼핑몰에는 상품이 있으며, 상품에 대한 재고가 존재할 것이다. 예를 들어 재고가 한 켤레만 존재하는 한정판 나이키 신발에 대해, 거의 동시에 두 고객이 신발을 구매하기 위해 접근을 한다고 하자. 이에 대해 아무런 조치를 취하지 않는다면 두 고객은 구매 처리를 모두 완료할 것이며, 수량은 -1이 되어 실제로 존재하는 재고와 일치하지 않는 상황이 발생할 것이다. 이처럼 동시에 같은 DB Table row를 업데이트 하는 상황을 방어하기 위해 어떻게 개발할 수 있을까? 이런 동시성 문제에 대비하기 위하여 일반적으로 처리하는 방식은 잠금(Lock) 방식이다. Locking은 DB에 접근하는 것을 방지하는 것으로, 서비스 유저의 데이터 접근 경쟁.. 개발기초 2023. 6. 23. 이전 1 다음