awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
facebookincubator avatar

facebookincubator/katran

0
View on GitHub↗
5,270 stars·543 forks·C·GPL-2.0·17 views

Katran

Katran is an eBPF-based Layer 4 load balancer designed for high-performance network packet forwarding directly within the Linux kernel. It utilizes an XDP network packet processor to bypass the standard kernel network stack, minimizing latency and maximizing throughput for incoming traffic.

The system implements weighted consistent hashing to distribute network loads and maintain session persistence across backend servers. It further optimizes the return path through a direct server return gateway, which allows backends to respond directly to clients and removes the load balancer from the outbound traffic flow.

Its capabilities include lockless connection tracking for session stability and NUMA-aware core binding to eliminate cross-node latency. The project also supports backend traffic weighting, server draining, and XDP program chaining for executing firewall logic before load balancing.

The implementation provides observability tools for network traffic capture, healthcheck probe routing, and encapsulated traffic filtering.

Features

  • Layer-4 Load Balancing - Provides a high-performance Layer 4 load balancer using eBPF to route traffic directly within the Linux kernel.
  • XDP Packet Forwarding - Routes network packets immediately at the network interface using XDP to bypass kernel overhead.
  • Virtual IP Balancing - Maps virtual addresses and ports to backend servers using consistent hashing to balance network loads.
  • Lockless Session Tracking - Maintains session states in a shared memory cache using atomic operations to ensure consistent routing without thread contention.
  • Connection Tracking Tables - Maintains a fixed-size connection tracking table with an eviction strategy to ensure session persistence.
  • Weighted Hash Rings - Implements a modified hashing algorithm with weighted backends to ensure session stability during server failures.
  • Weighted Load Balancing - Assigns relative weights to backend servers to control the proportion of traffic each receives.
  • Network Interrupt Optimizers - Optimizes network efficiency by assigning network interrupts to specific processor cores based on hardware topology.
  • Kernel-Space Packet Processing - Processes network packets directly within the Linux kernel to minimize latency and bypass the standard network stack.
  • XDP Packet Processing - Executes programmable byte-code at the network interface driver level to route or drop packets before they reach the kernel.
  • Connection State Management - Implements a lockless session table to track active network flows and maintain routing consistency.
  • Virtual-to-Real Address Mapping - Maps virtual addresses and ports to a set of real backend server addresses to balance incoming traffic.
  • XDP Packet Processors - Utilizes Express Data Path to bypass the kernel network stack for ultra-low latency packet forwarding.
  • In-Kernel Connection Trackers - Implements a lockless session table in-kernel to ensure subsequent packets in a flow reach the same backend server.
  • Process Affinity and Core Binding - Utilizes NUMA-aware core binding to pin processing tasks and minimize cross-node latency.
  • Consistent Hashing - Uses consistent hashing to map clients to backend servers, ensuring stable session persistence during scaling.
  • Load Balancing Ring Hashing - Implements a load balancing system using weighted consistent hashing to distribute network loads while maintaining persistence.
  • Direct Server Return - Implements a networking architecture where backend servers respond directly to clients to bypass the load balancer on return paths.
  • Network Traffic Management - Manages data flows using weighted backends and connection tracking to optimize network throughput and stability.
  • Symmetric RSS Distribution - Uses packet encapsulation with varying source addresses to distribute incoming flows across hardware receive queues.
  • BPF Program Chaining - Executes a sequence of eBPF programs via a root coordinator to apply firewall logic before load balancing.
  • Connection Draining - Prevents new connections from reaching a server by setting its weight to zero while allowing existing sessions to complete.
  • Load Balancing and Ingress - High-performance layer 4 load balancer.

Star history

Star history chart for facebookincubator/katranStar history chart for facebookincubator/katran

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does facebookincubator/katran do?

Katran is an eBPF-based Layer 4 load balancer designed for high-performance network packet forwarding directly within the Linux kernel. It utilizes an XDP network packet processor to bypass the standard kernel network stack, minimizing latency and maximizing throughput for incoming traffic.

What are the main features of facebookincubator/katran?

The main features of facebookincubator/katran are: Layer-4 Load Balancing, XDP Packet Forwarding, Virtual IP Balancing, Lockless Session Tracking, Connection Tracking Tables, Weighted Hash Rings, Weighted Load Balancing, Network Interrupt Optimizers.

What are some open-source alternatives to facebookincubator/katran?

Open-source alternatives to facebookincubator/katran include: microsoft/reverse-proxy — This project is an HTTP reverse proxy toolkit and programmable proxy engine designed for building high-performance… eunomia-bpf/bpf-developer-tutorial — This project is an educational resource providing a comprehensive development tutorial for writing and loading eBPF… mpusher/mpush — Mpush is a real-time message push system and encrypted messaging gateway designed to deliver instant notifications to… cloudflare/pingora — Pingora is a Rust-based framework for building high-performance network services, including HTTP reverse proxies,… google/seesaw — Seesaw is a traffic distribution platform based on Linux Virtual Server technology. It functions as a load balancer… terry-mao/goim — goim.

Open-source alternatives to Katran

Similar open-source projects, ranked by how many features they share with Katran.
  • microsoft/reverse-proxymicrosoft avatar

    microsoft/reverse-proxy

    9,526View on GitHub↗

    This project is an HTTP reverse proxy toolkit and programmable proxy engine designed for building high-performance network gateways. It functions as an HTTP request pipeline framework that allows for the interception and modification of network requests and responses. The system provides an extensible core for developing specialized proxy applications, offering programmatic control over routing and traffic behavior. It enables the creation of custom reverse proxies through a flexible pipeline used to handle specialized request and response logic. The toolkit covers network traffic management

    C#
    View on GitHub↗9,526
  • eunomia-bpf/bpf-developer-tutorialeunomia-bpf avatar

    eunomia-bpf/bpf-developer-tutorial

    4,145View on GitHub↗

    This project is an educational resource providing a comprehensive development tutorial for writing and loading eBPF programs using C, Go, and Rust within the Linux kernel. It serves as a technical guide for developing custom logic to execute directly in the kernel. The materials cover specialized domains including kernel observability and tracing, security implementation for intrusion detection, and high-performance network engineering for packet filtering and load balancing. It also includes dedicated manuals for Linux kernel tracing and the use of kprobes, uprobes, and tracepoints. The pro

    Cbpfebpfexamples
    View on GitHub↗4,145
  • mpusher/mpushmpusher avatar

    mpusher/mpush

    3,772View on GitHub↗

    Mpush is a real-time message push system and encrypted messaging gateway designed to deliver instant notifications to mobile and web clients. It functions as a session management service and a network traffic controller, utilizing persistent network connections to ensure updates reach users without manual screen refreshing. The system includes an HTTP reverse proxy that routes external domain requests to internal IP addresses with integrated connection timeout management. It maintains communication stability through a persistent session manager that tracks client heartbeats and session expira

    Javaandroidimjava
    View on GitHub↗3,772
  • cloudflare/pingoracloudflare avatar

    cloudflare/pingora

    26,833View on GitHub↗

    Pingora is a Rust-based framework for building high-performance network services, including HTTP reverse proxies, layer seven load balancers, and TLS termination proxies. It serves as an asynchronous network library designed to intercept and route HTTP, gRPC, and WebSocket traffic between clients and upstream backend servers. The project enables zero-downtime service updates by handing over listening sockets between processes during binary or configuration upgrades. It utilizes a programmable multi-phase pipeline to modify request and response bodies and headers, and it provides a pluggable T

    Rust
    View on GitHub↗26,833
  • See all 30 alternatives to Katran→