연결 해제란 무엇인가요?
스트리밍 연결이 끊길 수 있는 이유
- 잘못된 토큰이나 잘못된 인증 방식 사용과 같은 인증 오류가 발생한 경우
- X 측의 스트리밍 서버가 재시작된 경우. 이는 보통 코드 배포와 관련이 있으며, 일반적으로 발생할 수 있는 상황이므로 이에 대비해 설계해야 합니다.
- 스트림이 전송하는 포스트의 양을 Client가 처리하지 못하거나 데이터를 너무 느리게 읽는 경우. 모든 스트리밍 연결 뒤에는 Client로 전송할 메시지 큐가 있으며, 이 큐가 시간이 지남에 따라 너무 커지면 연결이 종료됩니다.
- 계정이 일/월별 포스트 쿼터를 초과한 경우
- 중복되는 활성 연결이 너무 많은 경우
- Client가 갑자기 데이터 읽기를 중단한 경우. 스트림에서 읽어가는 포스트의 속도가 갑자기 떨어지면 연결이 종료됩니다.
- 서버와 Client 간의 네트워크 문제
- 일시적인 서버 측 문제, 예정된 유지 관리 및 업데이트가 있는 경우 (상태 페이지를 확인하세요)
연결 끊김을 예상하고 다시 연결하기
- 코드에서 새 콘텐츠와 하트비트가 더 이상 도착하지 않는 상황을 감지해야 합니다.
- 그런 일이 발생하면 코드에서 재연결 로직을 트리거해야 합니다. 일부 클라이언트 및 언어에서는 읽기 타임아웃을 지정할 수 있으며, 이를 20초로 설정할 수 있습니다.
- 서비스는 이러한 연결 해제를 감지하고 가능한 한 빨리 다시 연결해야 합니다.
- TCP/IP 레벨 네트워크 오류에 대해서는 선형 백오프를 적용하십시오. 이러한 문제는 일반적으로 일시적이며 빠르게 해결되는 경향이 있습니다. 재연결 간 지연 시간을 시도할 때마다 250ms씩 늘려 최대 16초까지 증가시키십시오.
- 재연결이 적절한 HTTP 오류에 대해서는 지수 백오프를 적용하십시오. 5초 대기부터 시작해 시도할 때마다 두 배로 늘려 최대 320초까지 증가시키십시오.
- HTTP 429 오류(요청 한도 초과)에 대해서도 지수 백오프를 적용하십시오. 1분 대기부터 시작해 시도할 때마다 두 배로 늘리십시오. HTTP 429를 받을 때마다, 해당 계정에 대한 요청 한도가 더 이상 적용되지 않을 때까지 기다려야 하는 최소 대기 시간이 증가한다는 점에 유의하십시오.
누락된 데이터 복구
요청 한도 및 사용량
- x-rate-limit-limit 은(는) 15분 시간 창 동안 클라이언트가 보낼 수 있는 전체 허용 요청 수를 나타냅니다.
- x-rate-limit-remaining 은(는) 15분 시간 창 동안 남아 있는 요청 가능 횟수를 나타냅니다.
- x-rate-limit-reset 은(는) 15분 시간 창이 다시 시작되는 시점을 나타내는 UNIX 타임스탬프로, 이 시점에 x-rate-limit-remaining 값이 0으로 재설정됩니다.