【发布时间】:2019-09-09 19:44:54
【问题描述】:
func handleForServer1(res http.ResponseWriter, req *http.Request) {
rPayload := parseRequestBody(req)
serve("http://server1:8080", res, req)
}
func handleForServer2(res http.ResponseWriter, req *http.Request) {
rPayload := parseRequestBody(req)
serve("http://server2:8080", res, req)
}
func serve(dest string, res http.ResponseWriter, req *http.Request) {
url, _ := url.Parse(dest)
p := httputil.NewSingleHostReverseProxy(url)
req.URL.Host = url.Host
req.URL.Scheme = url.Scheme
req.Header.Set("X-Forwarded-Host", req.Header.Get("Host"))
req.Host = url.Host
p.ServeHTTP(res, req)
}
我有一个类似上面的代码。 我想知道是否有办法找出处理程序“handleForServe2”有多少并发连接?
该代码的目标是创建反向代理功能。但是,我还想根据连接到的每个服务器的并发连接来添加平衡负载。
非常感谢!
【问题讨论】:
标签: http go proxy connection