Skip to content

Latest commit

 

History

History
65 lines (37 loc) · 3.65 KB

linkerd.adoc

File metadata and controls

65 lines (37 loc) · 3.65 KB

linkerd Proposal

Name of project: linkerd

Description: Linkerd is an open source service mesh for cloud-native applications. It is a layer 5/7 proxy that provides fully decentralized request-level reliability and optimization to service communication, including latency-aware load balancing, retries, failure handling, circuit breaking, and deadlines. It provides granular metrics (both of itself and of downstream services), distributed tracing, TLS, a powerful logical routing layer, and integration with most common service discovery mechanisms.

Applications use linkerd by proxying HTTP, gRPC, or Thrift calls through a local linkerd instance. In many cases, integration with linkerd is a config change (e.g. setting an http_proxy environment variable) rather than a code change. Linkerd acts as a transparent proxy, and so a call to (e.g. "http:https://foo/bar") will be routed to the appropriate cluster, resolved in service discovery, load balanced, retried, and returned without application code being aware.

Linkerd is built on top of Finagle (https://twitter.github.io/finagle/), the high-concurrency RPC library that powers companies like Twitter, Soundcloud, Pinterest, and ING Bank. By staying close to the Finagle codebase, linkerd takes advantage of Finagle’s extensive production usage (https://github.com/twitter/finagle/blob/develop/ADOPTERS.md). Linkerd’s primary author is a core contributor to Finagle.

Sponsor / Advisor from TOC: Jonathan Boulle <[email protected]>

Unique Identifier: linkerd

License: Apache License v2.0

Maturity Level: Inception

Source control repositories:

Initial Committers (leads):

  • Oliver Gould (Buoyant) [@olix0r]

  • Alex Leong (Buoyant) [@adleong]

Infrastructure requirements: CI and potentially CNCF Community Cluster access. We run integration tests per commit (e.g. testing Kubernetes API integration) and periodic high-volume stress tests.

Community: Active & growing!

Release methodology and mechanics: Code review on all changes. Releases triggered manually by developer team. Using pre-1.0 semver semantics.

Social media accounts: Twitter: @linkerd, Slack: http:https://slack.linkerd.io/

Existing sponsorship: https://buoyant.io/

External Dependencies: Runtime: JVM. Build-time: Finagle, netty

Statement on alignment with CNCF mission:

Linkerd directly addresses the communications challenges of running microservices at scale, and integrates directly with orchestrated environments such as Kubernetes and DC/OS. Linkerd integrates with two existing CNCF projects: it can use the Kubernetes API directly as a service discovery mechanism, and it exposes metrics in Prometheus format. See this blog post (https://blog.buoyant.io/2016/10/04/a-service-mesh-for-kubernetes-part-i-top-line-service-metrics/) for an example of linkerd, Kubernetes and Prometheus working together.

Production Usage:

Other Contributors: