Please vote +1/0/-1
Name of project
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://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 <jonathan.boulle@...
: Apache License v2.0Maturity Level:
InceptionSource control repositories
: https://github.com/linkerdInitial Committers
(leads): Oliver Gould (Buoyant) [@olix0r] and 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.Issue tracker: https://github.com/linkerd/issuesMailing lists: https://groups.google.com/forum/#!forum/linkerd-usersWebsite: https://linkerd.io/Community:
Active & growing!
Primarily focused on https://slack.linkerd.io
~1200 GitHub stars
~25 contributorsRelease 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://slack.linkerd.io/Existing sponsorship
: https://buoyant.io/External Dependencies:
Runtime: JVM. Build-time: Finagle, nettyStatement 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:
Monzo: used in production; k8s-based infra (https://monzo.com/blog/2016/09/19/building-a-modern-bank-backend/
NCBI: used in production w/Consul
Quid: used in production
Douban: used in production
Houghton Mifflin Harcourt: used in production; DC/OS-based infra
Olark: used in production; k8s-based infra (https://www.youtube.com/watch?v=r0nhQwbe8OY&index=107&list=PLj6h78yzYM2PqgIGU1Qmi8nY7dqn9PCr4
Currently ~25; >50% non-Buoyant by headcount: https://github.com/BuoyantIO/linkerd/graphs/contributors?type=a