10 Repos
Mechanisms for distributing network traffic across multiple backend servers to optimize resource utilization and throughput.
Distinguishing note: None available; no candidates provided.
Explore 10 awesome GitHub repositories matching devops & infrastructure · Load Balancing Algorithms. Refine with filters or upvote what's useful.
Nginx is a high-performance HTTP server and reverse proxy designed to handle high-concurrency traffic through an efficient, event-driven architecture. It functions as a versatile traffic management gateway and content delivery accelerator, providing the infrastructure necessary to route client requests, balance loads across backend servers, and serve static assets with minimal resource consumption. The project distinguishes itself through a master-worker process model that separates configuration management from request processing, ensuring stable operations under heavy load. Its modular requ
Distributes incoming requests across backend server groups using traffic management algorithms to optimize performance and resource utilization.
Ceph is a unified, software-defined storage platform designed to provide object, block, and file storage services from a single distributed cluster. By decoupling data management from physical hardware, it enables elastic scaling across commodity hardware, allowing organizations to build large-scale storage infrastructure without reliance on proprietary vendor equipment. The system distinguishes itself through a shared-nothing, distributed architecture that utilizes deterministic hashing for data placement. This approach eliminates centralized metadata bottlenecks, allowing the cluster to sca
Calculates data placement algorithmically to eliminate metadata bottlenecks and ensure even load balancing across storage hardware.
Higress is an AI API gateway and cloud-native traffic manager that functions as a Kubernetes ingress controller. It provides a centralized system for routing, securing, and optimizing traffic directed toward large language models, AI agents, and microservice architectures. The project distinguishes itself through deep AI orchestration, including the ability to host and manage Model Context Protocol servers that transform REST APIs into tools for AI agents. It features specialized AI infrastructure for model request proxying, protocol translation across multiple providers, and semantic-based c
Allows the selection and configuration of algorithms used to balance traffic across available backend nodes.
HAProxy is a high-performance TCP and HTTP proxy that distributes traffic across multiple backend servers to ensure availability and fault tolerance for critical services. It operates in either TCP or HTTP mode, with an event-driven, single-threaded reactor that handles tens of thousands of connections without context switching, and supports kernel-level data transfer to minimize memory usage and latency. What distinguishes HAProxy is its configuration-file-first design, where all load-balancing rules and runtime behavior are defined in a declarative text file parsed at startup. It embeds a L
Selects backend servers using algorithms like round-robin, least connections, or hash-based methods.
Der NGINX Ingress Controller ist ein Kubernetes-nativer Traffic-Manager, der externe Anfragen verarbeitet und an interne Dienste weiterleitet. Er übersetzt Kubernetes-API-Objekte und Annotationen in Proxy-Konfigurationen, um eingehenden HTTP-, TCP- und UDP-Traffic zu verwalten. Der Controller zeichnet sich durch fortschrittliche Traffic-Steuerung und Sicherheitsintegration aus. Er unterstützt Blue-Green- und Canary-Traffic-Splitting sowie inhaltsbasiertes und Regex-Pfad-Routing. Die Sicherheit wird am Edge durch eine Web Application Firewall, Schutz vor Denial-of-Service-Angriffen und eine Vielzahl von Authentifizierungsmethoden, einschließlich OpenID Connect und JSON Web Tokens, gewährleistet. Das Projekt bietet eine breite Palette an Funktionen, die TLS-Terminierung und -Passthrough, aktives Health-Monitoring von Upstream-Diensten und Sitzungspersistenz abdecken. Es enthält zudem Observability-Tools wie Prometheus-Metriken-Integration, Echtzeit-Traffic-Dashboards und verteiltes Request-Tracing. Die Installation wird durch Helm-Charts, einen Operator oder Standard-Container-Image-Deployments unterstützt.
Distributes requests using specialized methods like least-time to optimize response times.
Piscina is a Node.js worker thread pool that runs CPU-intensive JavaScript functions across multiple threads for parallel execution. It manages a dynamic pool of worker threads with configurable size, handling task submission, cancellation, and lifecycle management through a promise-based interface. The pool supports AbortController-based task cancellation, enabling clean termination of submitted or running tasks without disrupting other work. It enforces per-worker memory limits through V8 resource caps and applies backpressure with a configurable maximum queue size that emits a drain event
Allows custom load balancing strategies for assigning tasks to workers in the thread pool.
Dieses Projekt ist eine detaillierte Analyse und Untersuchung des Nginx-Quellcodes mit Fokus auf Hochleistungs-Serverarchitektur und Funktionsaufrufflüsse. Es dient als technische Untersuchung der internen C-Implementierung, die für den Aufbau von Netzwerksystemen mit hoher Nebenläufigkeit verwendet wird. Das Projekt dekonstruiert die internen Mechanismen des Webservers, einschließlich des Multi-Prozess-Master-Worker-Modells, ereignisgesteuerter asynchroner I/O und nicht-blockierender Socket-Kommunikation. Es analysiert den phasenbasierten Lebenszyklus der Anforderungsverarbeitung, von der URI-Übereinstimmung und Header-Analyse bis zur finalen Inhaltsgenerierung. Die Studie deckt ein breites Spektrum an Architekturmustern ab, einschließlich Slab-basiertem Memory-Pooling, Shared-Memory-Inter-Prozess-Kommunikation und Upstream-basiertem Load-Balancing. Zudem untersucht sie die Implementierung von Reverse-Proxy-Mechanismen, Caching-Strategien und Sicherheitsmodulen für den Ressourcenschutz.
Analyzes traffic distribution algorithms and their coordination with upstream protocol modules.
Glider is a multi-protocol forward proxy, transparent proxy gateway, and network service provider. It functions as a DNS and DHCP server, a Linux IP set manager, and a network traffic load balancer. The project distinguishes itself through a protocol-translation bridge that translates traffic between different proxy schemes and a chain-based routing system that sequences multiple remote proxy servers. It supports transparent traffic interception at the system level and utilizes build-time protocol stripping to minimize the binary size of the executable. The system covers a broad range of net
Distributes network requests across multiple forwarders using round robin, destination hashing, or latency-based selection algorithms.
This project is a Kubernetes ingress controller that manages external traffic by dynamically configuring the HAProxy load balancer. It functions as a bridge between cluster resources and the network data plane, translating high-level ingress definitions into active proxy configurations to route HTTP, TCP, and UDP traffic into containerized environments. The controller distinguishes itself through a decoupled architecture that separates control plane logic from the proxy process, allowing for independent lifecycle management and versioning. It utilizes template-based configuration generation a
Distributes incoming traffic across backend servers using configurable algorithms to ensure high availability.
Consistent is a Go library that implements consistent hashing with bounded loads to distribute data keys across nodes in a distributed system. It provides a mechanism for mapping keys to cluster members that minimizes data movement during membership changes while preventing performance hotspots. The library distinguishes itself by enforcing strict capacity limits on individual nodes, ensuring that no single member becomes overwhelmed by excessive key assignments. It supports virtual node mapping to distribute physical capacity across the hash ring, allowing for granular control over load bala
Restrict the number of partitions assigned to each node to prevent individual members from becoming overloaded during high traffic periods or intensive cluster maintenance operations.