사장님 입점신청 자동승인 대기 시간, 10분에서 10초로 단축
·2026.09.23 15:40
핵심 내용
아웃박스 큐를 제거하고 폴링 주기를 10분에서 10초로 단축해 자동승인 대기 시간을 최소화했다.
자세히 보기
기존 자동승인 시스템은 후보를 모으는 '수집'과 실제 '처리'가 분리된 2단계 스케줄러(10분 주기)를 사용했으며, 이로 인해 요청 생성 후 처리 시작까지 최소 3분에서 최대 12분 59초의 대기 시간이 발생했다.
주요 개선 사항
- 아웃박스 큐 제거 및 구조 단순화: 후보를 임시 저장하던 'auto_approve_outbox' 테이블을 폐지하고, 요청 테이블과 상태 테이블을 직접 조회하는 방식으로 변경했다. 이를 통해 적재 단계의 지연을 제거했다.
- 폴링 주기 단축: 폴링 주기를 기존 10분에서 10초로 1/60 수준으로 단축했다. 다만, 재시도 주기는 폴링 주기와 분리하여 10분으로 유지함으로써 외부 시스템 부하 증가를 방지했다.
- N대 동시 처리 및 락 최적화: 기존에는 ShedLock을 통해 1대의 워커만 동작했으나, 개선 후에는 N대의 워커가 모두 폴링하도록 변경했다. 동시성 문제는 Redis 기반의 요청 단위 락과 상태 레코드 확인을 통해 해결했으며, 락 획득 실패 시에는 다음 후보를 재조회하는 로직을 추가해 처리량을 확보했다.
결과 및 과제
이러한 개선을 통해 자동승인 대상건이 생성된 후 처리가 시작되기까지의 지연 시간을 10초 이내로 줄였다. 다만, 재시도 간격이 10분으로 고정되어 있어 사유별 차등 간격 적용이 필요하며, 수동 승인 서비스와의 락 공유 및 정책 로직 단일화는 향후 과제로 남아 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.