동시성 처리와 중복 예약 방지 설계, 실패 케이스 사용자 안내까지 고려한 경험 공유
대용량 트랜잭션 서비스 경험은 수업에서 예약 시스템의 동시성 처리 문제를 설계하면서 처음 깊게 파고들었습니다. 성수기 트래픽이 평상시의 수십 배로 급증하는 상황에서, 단순한 부하 분산뿐 아니라 예약 중복과 초과 판매 방지 로직을 어떻게 설계할지가 핵심이었습니다.
예약 중복과 초과 판매 방지 로직을 낙관적 잠금(Optimistic Locking)과 재고 원자적 감소 방식으로 설계하고, 실패 케이스에서 사용자에게 어떤 메시지를 보여줄지까지 함께 고려했습니다. 단순한 성능 최적화보다 실패 케이스 처리와 사용자 안내가 실제 서비스 품질에 더 직접적인 영향을 준다는 걸 알게 됐습니다.
트랜잭션 실패 복구와 데이터 정합성 유지 설계는 처음엔 개발 영역으로만 생각했는데, PM이 기획 단계에서 실패 시나리오를 명세해두지 않으면 구현이 불완전해진다는 것을 경험했습니다.