8000 fix: 무료 릴레이 요청 제한과 교체 중 만료 완화 by hmmhmmhm · Pull Request #205 · hmmhmmhm/daiso-mcp · GitHub
[go: up one dir, main page]

Skip to content

fix: 무료 릴레이 요청 제한과 교체 중 만료 완화 - #205

Merged
hmmhmmhm merged 1 commit into
mainfrom
fix/relay-burst-recovery
Sep 29, 2026
Merged

hmmhmmhm merged 1 commit into
mainfrom
fix/relay-burst-recovery

Conversation

@hmmhmmhm
Copy link
Copy Markdown
Owner

문제와 변경

1.2.7 운영 중 소비자 제한 429가 반복됐고, 브라우저 교체에 22~23초가 걸리는 동안 Worker의 15초 제한이 먼저 끝나 실제 조회 성공 후에도 응답을 전달하지 못한 사례가 3건 있었습니다.

  • 소비자별 신규 실행을 12→24회/분으로 완화합니다. 전체 30회/분·UTC 하루 3,000회, 소비자 동시 2개·전체 8개 슬롯, 탭·메모리·로그 상한은 유지합니다.
  • 순간 동시 요청 충돌은 consumer-busy/1초로 구분하고, Worker는 정확히 검증된 이 응답만 한 번 재시도합니다. 다른 제한·오류·잘못된 헤더는 자동 재시도하지 않습니다.
  • 무료 릴레이 기본 제한 시간을 REST/MCP 모두 60초로 맞춥니다. 대기·재시도 시간을 합산하며 명시한 timeout을 존중합니다. 직접 요청 기본값은 15초입니다.
  • 릴레이 큐 대기를 30초까지 허용하고 취소와 대기 초과를 별도로 기록합니다. Zyte 유료 경로는 계속 차단합니다.

기존 캐시 정책을 유지하며 새로운 오래된 재고 fallback은 추가하지 않습니다. 전역 한도 초과나 오래 지속되는 장애는 계속 실패할 수 있습니다.

검증

  • 회귀 테스트: 24회/25회 제한, 소비자 분리, 23초 교체 대기·30초 만료, 취소/예약 반환, 한 번만 재시도, 전체 deadline, REST/MCP 기본값·명시 값, paid 경로 비호출
  • 전체 check: 201파일 / 2,224테스트 통과. build 및 4지표 100% 커버리지, npm audit 취약점 0
  • 두 독립 검토에서 확인한 비정상 busy 헤더의 캐시 재시도 문제를 테스트와 함께 수정

운영 오류율 감소는 배포 후 같은 종류의 트래픽으로 추가 관찰해야 합니다.

@hmmhmmhm
hmmhmmhm merged commit 5bdc493 into main Sep 29, 2026
6 checks passed
@hmmhmmhm
hmmhmmhm deleted the fix/relay-burst-recovery branch September 29, 2026 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0