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.
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.
Distributed tracing. Linkerd supports both distributed tracing and metrics instrumentation, providing uniform observability across all services.
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.
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.
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.
Instrumentation. Linkerd supports both distributed tracing and metrics instrumentation, providing uniform observability across all services.
Load balancing. Linkerd provides multiple load-balancing algorithms that use real-time performance metrics to distribute load and reduce tail latencies across your application.
Retries and deadlines. Linkerd can automatically retry requests on certain failures and can timeout requests after a specified period.
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.
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.
Transparent Proxying. Linkerd can be used for transparent proxying by using the linkerd-inject utility to configure your host's iptables rules.