首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

使用 HTTP2 时,还需要连接池吗?

  •  
  •   index90 · 242 天前 · 1331 次点击
    这是一个创建于 242 天前的主题,其中的信息可能已经有所发展或是发生改变。

    传统 TCP 连接池的目的是用来解决并发的,而现在 HTTP2 支持多路复用,单个链接就能支持并发了,而且还不会阻塞。

    那么基于 HTTP2 的话,还需要考虑实现连接池吗?

    如果考虑利用 HTTP2 链接发送流式数据,当其中一个请求的数据量较大时,会影响其他请求的延时吧?

    如果要实现连接池,那么连接的负载均衡采用什么策略比较好呢?

    3 回复  |  直到 2019-03-14 17:05:10 +08:00
        1
    Infernalzero   242 天前
    这得看你怎么用了,用在什么场景下
    官方是推荐用单连接模式,这种情况下有没连接池都一样
    但是单连接有个问题,比如客户端是 netty,单连接的情况下无法最大化利用 CPU,编码解码还是只有一个线程在处理。
    如果追求极端性能,那此时维护 CPU 核数个连接就更高效了
        2
    hilbertz   242 天前
    http2 只是为了解决外网建立连接慢的问题,特别是 tls 连接,虽然能提高吞吐率,但延迟会增高,对于内网而言,延迟增高会很明显,所以有低延迟需求的内部服务是不会去用 grpc 这种基于 http2 的 rpc 的,所以 http2 一般也只用在边缘服务器
        3
    index90   242 天前
    @hilbertz http2 为什么会引致高延时?看了一些 HTTP2 的介绍和原理,理解不了为什么会带来延时增高。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1033 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 22:56 · PVG 06:56 · LAX 14:56 · JFK 17:56
    ♥ Do have faith in what you're doing.