Overview

Beyond adding reliability through circuit breaking and latency-aware load balancing, Linkerd automatically instruments top-line service metrics such as request volume, success rates, and latency distributions. Linkerd also provides request-level routing and multi-service discovery integration with a powerful language called dtabs.

In this section you’ll find a rundown of linkerd’s major features.

  • Load balancing: linkerd provides multiple load-balancing algorithms that use real-time performance metrics to distribute load and reduce tail latencies across your application.

  • Circuit breaking: linkerd includes automatic circuit breaking that will stop sending traffic to instances that are deemed to be unhealthy, giving them a chance to recover and avoiding cascading failures.

  • Service discovery: linkerd integrates with various service discovery backends, helping you to reduce the complexity of your code by removing ad-hoc service discovery implementations.

  • Dynamic request routing: linkerd enables dynamic request routing and rerouting, allowing you to set up staging services, canaries, blue-green deploys, cross-DC failover, and dark traffic with a minimal amount of configuration.

  • Retries and deadlines: linkerd can automatically retry requests on certain failures and can timeout requests after a specified period.

  • TLS: linkerd can be configured to send and receive requests with TLS, which you can use to encrypt communication across host boundaries without modification to your existing application code.

  • HTTP proxy integration: linkerd can act as an HTTP proxy, which is widely supported by almost all modern HTTP clients, making it easy to integrate into existing applications.

  • Transparent Proxying: you can use iptables rules on your host to set up transparent proxying via linkerd

  • gRPC: linkerd supports both HTTP/2 and TLS, allowing it to route gRPC requests, enabling advanced RPC mechanisms such as bidirectional streaming, flow control, and structured data payloads.

  • Distributed tracing: linkerd supports both distributed tracing and metrics instrumentation, providing uniform observability across all services.

  • Instrumentation: linkerd supports both distributed tracing and metrics instrumentation, providing uniform observability across all services.