Kubernetes endpoints load balancer.
Go
Latest commit d2d3c55 Nov 6, 2016 @kelseyhightower clean up docs
Permalink
Failed to load latest commit information.
deployments code clean up Nov 6, 2016
example code clean up Nov 6, 2016
services code clean up Nov 6, 2016
LICENSE add elb Oct 19, 2016
README.md add image Nov 6, 2016
doc.go clean up docs Nov 6, 2016
endpoints.go clean up error messages Nov 6, 2016
endpoints.png add image Nov 6, 2016
kubernetes.go better error message Nov 6, 2016

README.md

Endpoints Load Balancer

GoDoc

Overview

Package endpoints provides an implementation of a client-side load balancer that distributes client request across a collection of Kubernetes endpoints using a basic Round-robin algorithm. The endpoints load balancer does not operate in the data path and only manages a list of backends based on services defined in a Kubernetes cluster.

Use Cases

  • Reduce latency by avoiding DNS lookups. Endpoints are returned as IP addresses and one or more ports.
  • Reduce latency by avoiding extra hops. Client side load balancing enables direct pod to pod communication.

Drawbacks

  • Increased load on the Kubernetes API server. Each client watches for changes and runs a reconciliation loop against the Kubernetes API.
  • External dependency. Kubernetes service discovery works out of the box; using this library adds a new dependency.

Example Usage

See the example application for usage details.