잔액 확인과 차감이 분리되어 동시에 두 요청이 성공한다. 해결책은?
처리 흐름: 잔액 조회 후 별도 UPDATE
동시성 조건: 같은 계정에 두 요청이 동시에 도착
정답 2번
여러 요청이 같은 잔액을 읽은 뒤 각각 차감하면 검사 시점과 갱신 시점 사이에 경쟁 조건이 생깁니다. `UPDATE account SET balance = balance - :amount WHERE id = :id AND balance >= :amount`처럼 조건 검사와 차감을 하나의 원자적 갱신으로 묶고 영향 행 수를 확인하거나, 동일 행을 트랜잭션 잠금으로 직렬화해야 합니다. 프로세스 로컬 잠금은 다중 인스턴스를 막지 못하고 멱등성 키만으로는 서로 다른 동시 요청의 잔액 경쟁을 해결하지 못합니다.
콘텐츠 정보
출제범위 기반 실전 연습을 위해 정처LAB이 독립 제작했습니다. 표시 연도는 학습 범위의 맥락이며 특정 시행 회차의 출제문항이나 복원 원문을 뜻하지 않습니다.
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-24