동시성 제어 오류

처음에는 분산락을 사용하여 동시성 제어 시도

→ 한 쓰레드가 락을 오랜시간 보유하고 있는 경우 다른 쓰레드가 그 락을 빼앗아 사용하는 오류 발생

⇒ 결국 수량을 감소시키다 다시 초기화가 되는 불상사가 발생함

동시성 제어1.png

해결 방법

Redis 의 싱글 스레드 특성을 이용하여 애초에 하나의 작업만 수행을 하도록 하자!

동시성 제어2.png