2017-04-03 10 views
0

반점이 발생하는 경우 내 API에서 내 API로 탄력적 인 연결을 만드는 데 문제가 있습니다. 이상적으로, 나는 예를 들어 인터넷을 통해 가능한 한 탄력적 인 연결을 만들고 싶습니다. 요청을 API에 다시 보냄. 더 구체적으로반점이있는 연결 전화를 API에 더 탄력적으로 만들기

:

  • 운송에서 HTTPS를
  • 응답을 사용하고는 JSON 보통 몇 킬로바이트
  • 이 API는

Heroku가에서 호스팅되는, 기반하여 적절한 알고리즘이 될 것입니다 무엇 그런 "반점 연결성"문제를 다루는 접근법? 많은 앱이 이처럼 잘 처리하는 것으로 보입니다. Discord의 음성 채널 또는 WhatsApp를 통한 통화. 나는 현재에 찾고 있어요

:

  • 는 "예열"요청을 취소하고 다시 보내

    • 은 초기 암호화 핸드 셰이크로 연결 유지 롱 폴링을 통해 HTTPS 연결은
    • 보내는 여러 꽤 무거운 보인다 병렬로 요청한다.

    목표는 가능한 한 RTT를 제거하는 것이다. 요청은 작지만 사용자가 응답을 기다릴 필요가 없으므로 신속하게 처리해야합니다.

    다른 해결 방법을 찾아서 해피. 아주 간단한 측면에서

  • 답변

    0

    : -의 세트 업 연결을 종료 종료하고 안정적인 전송을 가능하게하지만 신뢰성이 좀 더 오버 헤드

  • UDP/IP의 비용으로 제공

    • TCP/IP가 지향 연결입니다 연결이 끊어져있어 미리 연결을 설정하거나 보낸 데이터의 수신을 확인하지 않아 신뢰성이 떨어질 수 있지만 빠르고 오버 헤드가 적습니다.

    VoIP 응용 프로그램은 일반적으로 음성 부분에 UDP를 선호합니다. 이것은 spe 에드/딜레이가 중요하며 가끔 패킷 손실이 큰 문제는 아닙니다.

    VoIP 패킷을 잃어 버리지 않는 것이 필수적 인 경우, 예를 들어 VoIP 호출을 설정하는 신호와 같이 손실 된 패킷을 확인하고 재전송하는 다른 프로토콜이 일반적으로 선호됩니다.

    위의 예외가 있습니다. 예를 들어 TCP는 일반적으로 UDP보다 나은 방화벽을 통과합니다. 이는 트래픽 정책의 이유로 보안으로 인해 차단 될 수 있습니다. 따라서 TCP 스피 링은 때때로 TCP를 통해 일부로 전송됩니다. 가장 작은.

    아마도 SCTP (https://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol)와 같은 다른 프로토콜이 있지만 일반적으로 사용자가 설명하는 통신 유형에 대해 더 빨리 표시 될 수 있는지는 모르겠다.