httpproxy

package
v0.0.0-...-518322d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2020 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Package httpproxy implements etcd httpproxy. The etcd proxy acts as a reverse http proxy forwarding client requests to active etcd cluster members, and does not participate in consensus.

Index

Constants

View Source
const (
	// DefaultMaxIdleConnsPerHost indicates the default maximum idle connection
	// count maintained between proxy and each member. We set it to 128 to
	// let proxy handle 128 concurrent requests in long term smoothly.
	// If the number of concurrent requests is bigger than this value,
	// proxy needs to create one new connection when handling each request in
	// the delta, which is bad because the creation consumes resource and
	// may eat up ephemeral ports.
	DefaultMaxIdleConnsPerHost = 128
)

Variables

This section is empty.

Functions

func NewHandler

func NewHandler(lg *zap.Logger, t *http.Transport, urlsFunc GetProxyURLs, failureWait time.Duration, refreshInterval time.Duration) http.Handler

NewHandler creates a new HTTP handler, listening on the given transport, which will proxy requests to an etcd cluster. The handler will periodically update its view of the cluster.

func NewReadonlyHandler

func NewReadonlyHandler(hdlr http.Handler) http.Handler

NewReadonlyHandler wraps the given HTTP handler to allow only GET requests

Types

type GetProxyURLs

type GetProxyURLs func() []string

GetProxyURLs is a function which should return the current set of URLs to which client requests should be proxied. This function will be queried periodically by the proxy Handler to refresh the set of available backends.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL