Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EndpointList ¶
type EndpointList []Endpoint
EndpointList EndpointList
func CreateEndpoints ¶
func CreateEndpoints(endpoints []string) EndpointList
CreateEndpoints CreateEndpoints
func (*EndpointList) HaveEndpoint ¶
func (e *EndpointList) HaveEndpoint(endpoint string) bool
HaveEndpoint Whether or not there is a endpoint
type HTTPProxy ¶
type HTTPProxy struct {
// contains filtered or unexported fields
}
HTTPProxy HTTPProxy
func (*HTTPProxy) Proxy ¶
func (h *HTTPProxy) Proxy(w http.ResponseWriter, r *http.Request)
Proxy 代理
func (*HTTPProxy) UpdateEndpoints ¶
UpdateEndpoints 更新端点
type LoadBalance ¶
type LoadBalance interface {
Select(r *http.Request, endpoints EndpointList) Endpoint
}
LoadBalance LoadBalance
type Proxy ¶
type Proxy interface { Proxy(w http.ResponseWriter, r *http.Request) Do(r *http.Request) (*http.Response, error) UpdateEndpoints(endpoints ...string) // format: ["name=>ip:port", ...] }
Proxy proxy
type RoundRobin ¶
type RoundRobin struct {
// contains filtered or unexported fields
}
RoundRobin round robin loadBalance impl
func (RoundRobin) Select ¶
func (rr RoundRobin) Select(r *http.Request, endpoints EndpointList) Endpoint
Select select a server from servers using RoundRobin
type SelectBalance ¶
type SelectBalance struct {
// contains filtered or unexported fields
}
SelectBalance 选择性负载均衡
func (*SelectBalance) Select ¶
func (s *SelectBalance) Select(r *http.Request, endpoints EndpointList) Endpoint
Select 负载
type WebSocketProxy ¶
type WebSocketProxy struct {
// contains filtered or unexported fields
}
WebSocketProxy WebSocketProxy
func (*WebSocketProxy) Proxy ¶
func (h *WebSocketProxy) Proxy(w http.ResponseWriter, req *http.Request)
func (*WebSocketProxy) UpdateEndpoints ¶
func (h *WebSocketProxy) UpdateEndpoints(endpoints ...string)
UpdateEndpoints 更新后端点
Click to show internal directories.
Click to hide internal directories.