我通過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,}據(jù)我所知,我對運輸?shù)目刂戚^少。ClientHTTP2 := &http.Client{ Transport: &http2.Transport{ AllowHTTP: true, }, Timeout: timeout * time.Second,}有什么我想念的嗎?http2生產就緒了嗎?我了解到http2使用單個TCP連接,因此諸如緩沖池之類的東西就消失了。然而,它某種程度上感覺并不完整。這些行為與生產客戶的行為相同嗎?有沒有更好的實現(xiàn)方法ClientHTTP2,最后AllowHTTP似乎什么也沒做。在可能會有一個http調用的情況下,我認為我可以安全地啟用它,但會出錯。
- 1 回答
- 0 關注
- 350 瀏覽
添加回答
舉報
0/150
提交
取消