발단


"오늘 예약 마감됐어요. 하지만 빈자리는 있어요."

image.png

MSA 프로젝트로 '대규모 트래픽 문제를 해결하는 호텔 예약 서비스'를 개발 중, 예약 요청이 100% 성공해 빈자리가 없어야하지만, 데이터베이스에서 만실이 되지 않는 이슈가 발생했다.

문제를 발견한 테스트

<aside> <img src="/icons/thought-alert_yellow.svg" alt="/icons/thought-alert_yellow.svg" width="40px" />

image.png

300명이 풀예약했지만 아직 객실이 266개가 예약 가능하다.

300명이 풀예약했지만 아직 객실이 266개가 예약 가능하다.

Lock 에서 발생한 문제라고 생각했지만 결과적으로,

원인은 더티체킹으로 업데이트를 처리하였기 때문에 발생했다.

원인 분석

왜 더티체킹 하셨나요?

“편해서 사용했어요..😢”