백엔드#동시성#Pessimistic Lock#HikariCP+1
이커머스 재고 차감, -1 고정 버그부터 비관적 락까지 — 동시성 제어 기록
주문 수량을 무시하고 재고를 -1만 차감하던 버그를 발견한 후, PESSIMISTIC_WRITE 락·데드락 방지·트랜잭션 타임아웃·커넥션 풀 튜닝까지 한 번에 정리한 기록.
8
개발하면서 배운 것들을 기록합니다.
주문 수량을 무시하고 재고를 -1만 차감하던 버그를 발견한 후, PESSIMISTIC_WRITE 락·데드락 방지·트랜잭션 타임아웃·커넥션 풀 튜닝까지 한 번에 정리한 기록.
→ CAS(Compare-And-Swap)는 "현재 값이 내가 예상한 값과 같을 때만 새 값으로 교체하라"는 동시성 제어 패턴이다. 상태 머신은 정해진 규칙에 따라 상태가 전이되는 구조를 말한다.
푸시 발송 서비스를 2대의 서버로 운영하고 있다.
결제 시스템을 운영하다 보면 당연히 동시 요청이 들어온다. 일반 DB라면 트랜잭션 격리 수준으로 해결되지만, 블록체인은 좀 다르다.