Advisory lock

DB가 강제하지 않는 ‘협의 기반 락’. 작업 중복 방지(크론/배치/마이그레이션)에 자주 사용


Advisory lock은 DB가 자동으로 강제하는 락이 아니라, 애플리케이션이 “같은 키에 대해 하나만 실행” 같은 협약을 만들 때 쓰는 락입니다.

언제 쓰나요?

  • 크론/배치 작업이 동시에 여러 번 실행되는 것을 방지
  • 마이그레이션/백필(backfill) 작업의 중복 실행 방지

주의점

  • “협의 기반”이라서, 모든 실행 주체가 같은 규칙을 지켜야 합니다.
  • 장애/타임아웃 상황에서 락 해제 정책이 필요합니다.

관련 문서