为了账号安全,请及时绑定邮箱和手机立即绑定

对Go的http2实现的困惑

对Go的http2实现的困惑

Go
眼眸繁星 2021-03-30 17:19:19
我通过SSL运行大量流量。我当时正在考虑通过使用http2客户端来加快这些调用的速度。但是,我很犹豫,因为感觉好像我对它的行为没有更多的控制。这是使用Go的基本net / http的生产客户端ClientHTTP := &http.Client{    Transport: &http.Transport{        Proxy: http.ProxyFromEnvironment,        Dial: (&net.Dialer{            Timeout:   timeout * time.Second,            KeepAlive: 1 * time.Minute,        }).Dial,        TLSHandshakeTimeout: timeout * time.Second,        MaxIdleConns:        3000,        MaxIdleConnsPerHost: 3000,        IdleConnTimeout:     60 * time.Second,    },    Timeout: timeout * time.Second,}据我所知,我对运输的控制较少。ClientHTTP2 := &http.Client{    Transport: &http2.Transport{        AllowHTTP: true,    },    Timeout: timeout * time.Second,}有什么我想念的吗?http2生产就绪了吗?我了解到http2使用单个TCP连接,因此诸如缓冲池之类的东西就消失了。然而,它某种程度上感觉并不完整。这些行为与生产客户的行为相同吗?有没有更好的实现方法ClientHTTP2,最后AllowHTTP似乎什么也没做。在可能会有一个http调用的情况下,我认为我可以安全地启用它,但会出错。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 300 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信