728x90
반응형
Pessimistic Lock
-
🏦 Spring Boot 대용량 트래픽 환경에서의 계좌 API 구현Server/Spring Boot 2026. 1. 5. 16:55
동시성 제어와 락(Lock) 전략을 활용한 안전한 금융 트랜잭션 처리📌 목차개요락(Lock)의 종류와 특징프로젝트 구조Entity 설계Repository 구현Service 구현Controller 구현DTO 클래스예외 처리테스트 코드정리개요금융 서비스에서 가장 중요한 것은 데이터 정합성입니다. 동시에 수천 명의 사용자가 같은 계좌에 접근하더라도 잔액이 절대 틀리면 안 됩니다.문제 상황 예시[시나리오] 잔액: 10,000원Thread A: 5,000원 출금 시도Thread B: 3,000원 출금 시도 (동시에)❌ 잘못된 결과: 둘 다 10,000원에서 차감 → 잔액 5,000원 또는 7,000원✅ 올바른 결과: 순차 처리 → 잔액 2,000원이런 Race Condition을 방지하기 위해 Lock(락) 메..