A transparent, high-performance proxy written in Rust for the Linkerd service mesh, handling HTTP, HTTP/2, TCP, and WebSocket traffic.
Linkerd2 Proxy is a purpose-built, transparent proxy for the Linkerd service mesh, written in Rust. It handles all traffic between microservices, providing automatic load balancing, mutual TLS, metrics export, and traffic inspection without requiring application changes. It solves the problem of securing, observing, and managing communication in distributed cloud-native applications.
Platform engineers, SREs, and DevOps teams deploying and managing service meshes in Kubernetes environments. It's also relevant for developers building microservices architectures who need transparent traffic management.
Developers choose Linkerd2 Proxy for its high performance and safety due to being written in Rust, its zero-configuration approach, and its tight integration with the Linkerd service mesh for comprehensive observability and security out-of-the-box.
A purpose-built proxy for the Linkerd service mesh. Written in Rust.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built in Rust, the proxy leverages memory safety and concurrency features for reliable, high-performance data plane operations, as emphasized in the project's philosophy.
Supports HTTP, HTTP/2, TCP, and WebSocket traffic transparently without manual setup, enabling seamless integration into microservices architectures, as stated in the README.
Exports Prometheus metrics automatically and provides an on-demand diagnostic tap API for traffic inspection, simplifying monitoring and debugging without code changes.
Implements automatic mutual TLS for secure service-to-service communication, ensuring encrypted traffic out-of-the-box, a key feature highlighted in the README.
Primarily intended for Kubernetes environments, making it less optimized or supported for non-containerized setups or alternative orchestration platforms, as noted in the README.
Tightly integrated with the Linkerd service mesh; using it standalone may limit functionality, such as service discovery via the Destination API, requiring the full Linkerd stack.
The development environment relies on specific tools like Dev Container or just-cargo, which can be cumbersome for contributors not familiar with these setups, as mentioned in the building section.