Kubernetes endpoints load balancer.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
deployments
example code clean up Nov 6, 2016
services
LICENSE add elb Oct 19, 2016
README.md add image Nov 6, 2016
doc.go clean up docs Nov 6, 2016
endpoints.go
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.