
안정적인 서비스를 위해 백엔드 개발자 입장에서 동시성을 고려한 개발을 해야한다. 동시성 이슈를 해결하기 위한 방법은 여러가지가 존재한다. 사용중인 DB에 해당 상품에 대한 record lock을 거는 방법이 있을 것이고, 특정 구간만 lock을 거는 namedLock 혹은 Redis 분산락 등 여러 가지 방법을 사용해보고 또, 동시성 문제를 해결해보며 각각의 장단점을 알아보자. 이 글에서 사용한 RDBMS는 MySQL이다. 동시성 문제 재연해보기 먼저 동시성 문제를 해결하기 위해 어떤 상황에서 동시성 문제가 발생하는지 살펴보자. 우리가 테스트 해볼 경우의 수는 2가지이다. 1. 순차적 재고 차감 2. 동시에 재고 차감 1. 순차적 재고 차감 @Transactional public void productS..