안녕하세요. 오늘은 E-Market에서 발생하는 여러 동시성 문제에 대해 어떻게 해결했는지에 과정과 고민을 포스팅 하겠습니다.
단순히 동시성 문제를 해결하는 방법이 아닌 적절한 방식을 선택한 과정에 대해 적도록 하겠습니다. 저와 같은 고민을 하신 분들에게 많은 도움이 되셨으면 좋겠습니다.
해당 글에선 여러가지 동시성 처리 방법에 대해 알아보고 성능 테스트를 통한 프로젝트에 적합한 방식을 선택하는 방법에 대해 기술하였습니다. 먼저 저희 서비스에서는 여러 부분에서 동시성 이슈가 발생하지만 해당 글에서는 간단하게 게시글 좋아요 기능을 바탕으로 설명해보도록 하겠습니다.
목차 1. 동시성 문제가 발생하는 이유와 간단한 도메인 설명 1-1.
동시성 문제가 발생하는 이유 1-2. 간단한 도메인 설명 2.
동시성 제어를 위해 여러가지 시도한 방법들 2-1. 기존 방식 2-2.
트랜잭션 격리 수준 바꾸기 2-3. Update 쿼리를 직접 날려 해결하기 2-4.
낙관적 락을 이용해 해결하기 2-5. ...