HTTP 1.1流水线

HTTP 1.1流水线,第1张

HTTP 1.1流水线

我已经实现了管道HTTP客户端。基本概念听起来很简单,但是错误处理非常困难。性能提升微不足道,以至于我们很久以前就放弃了这些概念。

我认为,这对于正常的用例来说是没有意义的。仅当请求具有逻辑连接时,它才有一些好处。例如,您有一个3请求事务,您可以将它们全部批量发送。但是通常,如果可以管道化它们,则可以将它们组合为一个请求。

以下只是我记得的一些障碍,

  1. TCP的keepalive不能保证持久连接。如果在连接中传送了3个请求,则服务器在第一个响应后将断开连接。您应该重试接下来的两个请求。

  2. 当您有多个连接时,负载平衡也很棘手。如果没有空闲连接,则可以使用繁忙的连接,也可以创建一个新的连接。

  3. 超时也很棘手。当一个请求超时时,您必须丢弃所有请求,因为它们必须按顺序返回。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5461868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存