AI Briefing

데드락을 해결하려다, 락을 줄이게 된 이야기

·2026.08.20 17:57

핵심 내용

Kafka 이벤트 처리 시 데드락을 방지하기 위해 비관적 락 전략을 재설계한 과정을 정리했다.

자세히 보기

신규 유저 리워드 이벤트 시스템에서 Kafka의 At-Least-Once 특성 및 토픽 분리 문제로 인한 동시성 문제를 해결하기 위해 락 전략을 조정했다.

초기에는 유저 단위의 **비관적 락(Pessimistic Lock)**을 적용했으나, INSERT ... ON DUPLICATE KEY UPDATE 방식은 불필요한 쓰기 비용과 Hot Row 문제를 유발했다.

이를 개선하기 위해 INSERT IGNORE로 변경했으나, 예상치 못한 데드락이 발생했다. 데드락 로그 분석을 통해 락 획득 순서와 트랜잭션 구조를 재검토하여 문제를 해결했다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.