![维护相同的 TCP 会话,负载平衡](https://linux22.com/image/564065/%E7%BB%B4%E6%8A%A4%E7%9B%B8%E5%90%8C%E7%9A%84%20TCP%20%E4%BC%9A%E8%AF%9D%EF%BC%8C%E8%B4%9F%E8%BD%BD%E5%B9%B3%E8%A1%A1.png)
使用 http 直播 (HLS) 时,我们需要将视频片段逐个传送到播放器,以便连续播放。许多流媒体服务器上都有片段,我们会在这些服务器之间进行负载平衡以传送片段。
假设每个块请求都到达我们的应用服务器,一旦我们收到片段请求,我们就重定向到最佳可能的交付节点。这是否会导致打开许多 TCP 会话来处理 HTTP 请求。例如,在观看 2 小时的电影时,每个用户会话将有 1500 个 HTTP 块请求(TCP 会话)。如果是这样,这可能效率低下,有没有办法让我们将每个块请求重定向到交付节点并维护相同的 TCP 会话?
答案1
不,重定向的意思是“发出另一个请求”。客户端负责实现(服务器负责支持)HTTP 请求之间的 TCP keepalive,但服务器完全无法控制告诉客户端消失(即将其重定向到其他服务器)。