접속 대기열¶
접속 대기열(대기실)은 출시, 티켓 판매, 갑작스러운 트래픽 급증 때도 사이트가 버티게 해 줍니다. Corvus는 서비스가 감당할 수 있는 만큼만 방문자를 들여보내고, 나머지는 순서대로 기다리게 합니다. 기다리는 방문자에게는 자기 순번이 표시된 페이지가 8개 언어로 보이며, 페이지는 저절로 새로 고쳐집니다.

설정하기¶
- 접속 대기열을 열고 접속 대기열 추가를 누릅니다.
- 정원(아래 참고)을 정하고 저장합니다.
- 프록시 호스트를 열고 접속 대기열에서 대기열을 고릅니다. 접속 대기열 적용 경로를
/로 하면 사이트 전체를,/event로 하면 그 부분만 보호합니다.

설정 항목¶

| 설정 | 의미 |
|---|---|
| 최대 동시 입장자 수 | 동시에 안에 들어와 있을 수 있는 방문자 수 |
| 초당 입장 제한 | 1초에 새로 들여보내는 방문자 수(0이면 자리가 나는 즉시) |
| 무활동 만료 | 이 시간 동안 요청이 없으면 방문자의 자리를 반납합니다 |
| 입장 차례 유효 시간 | 차례가 온 방문자는 이 시간 안에 들어와야 합니다 |
| 대기 이탈 판정 | 응답을 멈춘 대기 방문자를 대기열에서 뺍니다 |
| 캐시 DB 장애 시 | 모두 통과(fail-open, 가용성 우선) 또는 접속 차단(fail-closed, 정원 보호) |
| 최대 대기 인원 | 이를 넘으면 새 방문자에게 나중에 다시 오라고 안내합니다(0이면 무제한) |
| IP당 대기열 진입 | IP 하나가 1분에 새로 만들 수 있는 대기열 진입 수 |
| 입장권을 접속 네트워크에 묶기 | 같은 네트워크에서만 입장권이 통하므로 다른 사람과 공유할 수 없습니다. 네트워크를 바꾼 방문자는 다시 줄을 섭니다 |
정원 정하기
부하 테스트에서 서비스가 무리 없이 처리한 동시 사용자 수로 시작하고, 이벤트 중에는 대시보드의 입장과 대기 인원을 지켜보세요.
이벤트 중에는¶
- 대시보드와 접속 대기열 페이지에서 입장·대기 인원을 실시간으로 볼 수 있습니다.
- 긴급 해제는 모든 방문자를 바로 통과시킵니다. 예를 들어 급증이 끝났을 때 씁니다. 다시 켜기를 누르면 대기열이 다시 동작합니다.
- 대기 인원이 늘어나면 알림으로 알려 줄 수 있습니다.
API와 앱¶
보호 경로 아래의 페이지, 이미지, API 호출은 모두 입장권이 필요합니다. 브라우저는 대기 페이지에서
기다리는 동안 입장권(쿠키)을 자동으로 받습니다. fetch/XHR 호출이나 앱처럼 대기 페이지를 보여 줄
수 없는 요청은 기다리는 동안 Retry-After 헤더와 작은 JSON 본문이 담긴
429 Too Many Requests를 받습니다. 이 응답은 서버 오류로 집계되지 않습니다.
다른 사이트의 클라이언트
입장권 쿠키는 SameSite=Lax입니다. 다른 사이트의 클라이언트(예: app.example.org의
웹 앱이 api.example.com을 호출)는 이 쿠키를 보내지 않으므로 계속 대기 상태에 머뭅니다.
사람이 브라우저로 여는 경로(예: 웹 쇼핑몰의 /)만 보호하거나, API는 대기열이 없는 호스트에
두세요.