10 dépôts
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.
Le NGINX Ingress Controller est un gestionnaire de trafic natif Kubernetes qui gère les requêtes externes et les route vers les services internes. Il traduit les objets et annotations de l'API Kubernetes en configurations de proxy pour gérer le trafic HTTP, TCP et UDP entrant. Le contrôleur se distingue par une direction de trafic avancée et une intégration de sécurité. Il prend en charge la répartition de trafic blue-green et canary, ainsi que le routage basé sur le contenu et les chemins regex. La sécurité est gérée à la périphérie via un pare-feu d'application web (WAF), une protection contre le déni de service et une variété de méthodes d'authentification incluant OpenID Connect et JSON Web Tokens. Le projet fournit un large ensemble de capacités couvrant la terminaison et le passthrough TLS, la surveillance active de la santé des services en amont et la persistance de session. Il inclut également des outils d'observabilité tels que l'intégration des métriques Prometheus, des tableaux de bord de trafic en temps réel et le traçage distribué des requêtes. L'installation est prise en charge via des charts Helm, un opérateur ou des déploiements d'images de conteneurs standard.
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.
Ce projet est une analyse et une étude détaillée du code source de Nginx, se concentrant sur l'architecture serveur haute performance et les flux d'appels de fonctions. Il sert d'examen technique de l'implémentation interne en C utilisée pour construire des systèmes réseau à haute concurrence. Le projet déconstruit les mécanismes internes du serveur web, incluant le modèle maître-travailleur multi-processus, les E/S asynchrones pilotées par événements et la communication par sockets non bloquants. Il analyse le cycle de vie du traitement des requêtes basé sur les phases, du matching d'URI et de l'analyse des en-têtes à la génération finale du contenu. L'étude couvre un large éventail de modèles architecturaux, incluant le pooling mémoire basé sur des dalles (slabs), la communication inter-processus en mémoire partagée et l'équilibrage de charge basé sur l'amont (upstream). Il examine également l'implémentation de mécanismes de proxy inverse, de stratégies de mise en cache et de modules de sécurité pour la protection des ressources.
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.
Ce projet est un contrôleur d'ingress Kubernetes qui gère le trafic externe en configurant dynamiquement l'équilibreur de charge HAProxy. Il fonctionne comme un pont entre les ressources du cluster et le plan de données réseau, traduisant les définitions d'ingress de haut niveau en configurations de proxy actives pour router le trafic HTTP, TCP et UDP vers des environnements conteneurisés. Le contrôleur se distingue par une architecture découplée qui sépare la logique du plan de contrôle du processus proxy, permettant une gestion du cycle de vie et un versionnage indépendants. Il utilise la génération de configuration basée sur des templates et le rechargement à chaud en temps réel via des sockets Unix pour appliquer les mises à jour de routage sans interruption de service. En prenant en charge des patterns de trafic avancés tels que l'orchestration de déploiement bleu-vert, la manipulation d'en-têtes et l'injection de paramètres personnalisés, il fournit une alternative légère aux implémentations de service mesh complètes pour la gestion du trafic en périphérie (edge). La plateforme inclut une suite complète de capacités opérationnelles, couvrant la gestion automatisée des certificats TLS, des politiques de contrôle d'accès granulaires et l'intégration avec des pare-feux d'application web externes. Elle fournit également une observabilité robuste via la journalisation du trafic personnalisé, des métriques de performance et des vérifications de santé auxiliaires qui ajustent dynamiquement les poids d'équilibrage de charge basés sur l'état réel du backend. Le contrôleur prend en charge des modèles de déploiement flexibles, incluant le scoping au niveau du namespace et le filtrage des ressources, pour permettre une opération multi-tenant au sein d'un seul cluster. Il s'intègre aux patterns de mise en réseau Kubernetes standard et à la Gateway API pour garantir la compatibilité avec les flux de travail d'infrastructure existants.
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.