facebookincubator/katran

A high performance layer 4 load balancer

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 4 seconds ago
Added to GitGenius on September 12th, 2026
Created on April 27th, 2018
Open Issues & Pull Requests: 0 (+0)
GitHub issues: Enabled
Number of forks: 550
Total Stargazers: 5,319 (+0)
Total Subscribers: 198 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.1 days
Mean response time: 9.7 days
90th percentile: 22.7 days
Tracked items: 14

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Stale (7)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Katran is a C++ library and Berkeley Packet Filter program that builds high-performance layer 4 load balancing forwarding planes.

Katran solves the problem of scaling layer 4 load balancing by leveraging the kernel's XDP infrastructure for in-kernel packet processing. Rather than relying on userspace networking or traditional kernel mechanisms, it uses eBPF programs to achieve fast packet forwarding. The tool operates in direct service response mode, where traffic is forwarded directly from backend servers to clients without returning through the load balancer, eliminating a potential bottleneck. Performance scales linearly with the number of NIC receive queues, and the encapsulation approach is designed to work well with receive-side scaling.

Katran suits infrastructure teams building high-throughput load balancing systems who can meet its environmental requirements and have access to recent Linux kernels. It is particularly valuable when compared to DNS-based traffic redirection, which requires waiting for TTL expiration to handle failures, or anycast-based solutions, which are more vulnerable to network reshuffles and less flexible for managing pool membership changes. Examples are provided using both Thrift and gRPC service endpoints to demonstrate library usage.

Development activity shows active maintenance with CI workflows in place. The project maintains documentation across multiple guides covering overview, usage, development setup, and examples. Build infrastructure is automated through a provided script that handles dependency installation, though the team acknowledges ongoing work to support distributions beyond Ubuntu and welcomes community contributions for broader compatibility.