예약 시스템 개편기: 우리는 왜 '예약 레고'를 만들었나
0
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
이 게시물은 병원 예약 시스템을 가변 슬롯·분산 락·개별 레코드 기반 카운팅으로 개편한 경험을 공유합니다.
핵심 아이디어
- 진료 항목별 timeUnit으로 서로 다른 길이의 슬롯을 같은 시간표에 공존시키는 '예약 레고' 콘셉트
- 템플릿 스케줄과 커스텀 스케줄로 반복 패턴과 예외 상황 관리
- 예약 가능 시간은 조회 시점에 timeUnit으로 동적으로 계산
- 시간 겹침 판정은 반개구간 기준(start1 < end2 AND start2 < end1)
- 동시성은 5분 단위 Redis 분산 락과 요청/카운트 이중 락으로 제어
- 카운팅은 reservedTime[]의 개별 레코드로 저장하여 추적·취소·채널 분리 가능
