DB의 비관적 락은 해당 DB 안의 특정 로우만 잠글 수 있습니다.
하지만 실무에서는 재고를 차감한 뒤 외부 결제 API를 호출한다거나, 캐시와 DB를 동시에 갱신해야 하는 것 처럼, 하나의 DB 트랜잭션으로 묶을 수 없는 자원들을 함께 제어해야 하는 경우가 많습니다.
이때 Redis 같은 중앙 저장소에 락을 걸어 DB 바깥까지 포함한 동시성을 제어하는 것이 분산 락입니다.
해당 글은 AI의 도움을 받아 제작됐습니다.
DB의 비관적 락은 해당 DB 안의 특정 로우만 잠글 수 있습니다.
하지만 실무에서는 재고를 차감한 뒤 외부 결제 API를 호출한다거나, 캐시와 DB를 동시에 갱신해야 하는 것 처럼, 하나의 DB 트랜잭션으로 묶을 수 없는 자원들을 함께 제어해야 하는 경우가 많습니다.
이때 Redis 같은 중앙 저장소에 락을 걸어 DB 바깥까지 포함한 동시성을 제어하는 것이 분산 락입니다.