如何解决如何处理http客户端的最大连接数问题?
我们有一个 http GET 处理程序 (ProductHandler
),它反过来使用 http 客户端连接到另一台服务器。
type ProductHandler struct {
service1 Service1
service2 Service2
}
type Service2 struct {
field1 int
field2 string
client CustomHttpClient
}
CustomHttpClient
使用来自 http.Client
https://golang.org/src/net/http/client.go
类型
由于 http.Client
是并发安全的,我们通过为 GET 请求注册 ProductHandler{}
来为多个 GET 请求使用单个 http 客户端。
GET 请求由来自 http.Server
的 https://golang.org/src/net/http/server.go
提供
但问题是,http.Client
限制了 ProductHandler
服务的 GET 请求的数量,因为 Linux 中的文件描述符数量(默认为 1024)是有限的。具体来说,MaxConnsPerHost
中的 http.Transport
受 Linux 文件描述符限制。
如何解决CustomHttpClient
中文件描述符数量限制GET请求的问题?提高 ulimit
只是一种解决方法...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。