예약 상태의 안전한 전이

좌석 제거와 매출 반영은 성공 또는 실패가 함께 결정되어야 한다.

  1. 요청 검증

    좌석 ID와 가격의 입력 계약을 확인한다.

  2. 공동 잠금

    가용 좌석과 매출의 단독 변경권을 얻는다.

  3. 복합 변경

    좌석을 제거하고 가격을 합산한다.

  4. 영수증 반환

    둘 다 성공한 결과만 호출자에게 공개한다.

핵심: 한쪽만 바뀌는 중간 상태가 다른 스레드에 노출되지 않아야 한다.