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

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektMCP-ServerÜber unsRanking-MethodikPresse
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

27 Repos

Awesome GitHub RepositoriesLoad Balancing Architectures

Design patterns for distributing network traffic to ensure system availability.

Distinguishing note: Focuses on the architectural role of load balancing rather than specific load balancer software.

Explore 27 awesome GitHub repositories matching software engineering & architecture · Load Balancing Architectures. Refine with filters or upvote what's useful.

Awesome Load Balancing Architectures GitHub Repositories

Finde die besten Repos mit KI.Wir suchen mit KI nach den am besten passenden Repositories.
  • karanpratapsingh/system-designAvatar von karanpratapsingh

    karanpratapsingh/system-design

    44,051Auf GitHub ansehen↗

    This project is a comprehensive educational resource focused on the principles, patterns, and trade-offs required to design scalable, reliable, and high-performance distributed systems. It provides a structured curriculum that covers the fundamental architectural strategies necessary for building modern software infrastructure, ranging from high-level system decomposition to low-level networking and data management. The repository distinguishes itself by offering deep dives into complex architectural patterns, such as microservices-based decomposition, event-driven communication, and command-

    Here are some commonly desired features of load balancers: - Autoscaling: Starting up and shutting down resources in response to demand conditions. - Sticky sessions: The ability to assign the same user or device

    architecturedistributed-systemsengineering
    Auf GitHub ansehen↗44,051
  • aobingjava/javafamilyAvatar von AobingJava

    AobingJava/JavaFamily

    36,959Auf GitHub ansehen↗

    JavaFamily is a curated set of learning paths and reference guides for backend engineering, distributed systems, and virtual machine internals. It provides a structured curriculum covering the Java language, operating system concepts, and network protocols. The project features detailed study guides for the Java virtual machine architecture, including memory management and garbage collection. It also includes a comprehensive reference for distributed systems, covering microservices, remote procedure call frameworks, and scalable system design. The collection covers a broad range of technical

    Covers design patterns for distributing network requests across service instances to ensure high availability.

    interviewjavajava8
    Auf GitHub ansehen↗36,959
  • xuxueli/xxl-jobAvatar von xuxueli

    xuxueli/xxl-job

    30,282Auf GitHub ansehen↗

    xxl-job is a distributed task scheduling platform and job orchestrator designed to manage and trigger timed jobs across a cluster of remote executor nodes. It provides a centralized system for scheduling tasks, linking dependent jobs, and managing complex execution lifecycles through a relational database that persists configurations and logs. The platform distinguishes itself through a web-based interface for cron job management, allowing users to create and update scheduled tasks without modifying source code. It supports cross-language task execution by triggering logic on third-party exec

    Distributes scheduled jobs across a cluster of executors using routing strategies to ensure high availability.

    Javacrondistributedglue
    Auf GitHub ansehen↗30,282
  • pingcap/tikvAvatar von pingcap

    pingcap/tikv

    16,724Auf GitHub ansehen↗

    TiKV is a cloud-native distributed transactional key-value store and storage engine. It provides a distributed database designed for horizontal scalability and strong consistency across a cluster of physical nodes. The system uses a Raft-based consensus mechanism to maintain data availability and state synchronization. It ensures ACID compliance for distributed transactions through a two-phase commit workflow and manages data distribution via multi-Raft sharding. The engine handles massive datasets using automated range splitting and cluster load balancing to distribute data across different

    Automatically divides oversized data shards into smaller pieces to balance load and manage storage growth.

    Rust
    Auf GitHub ansehen↗16,724
  • netflix/eurekaAvatar von Netflix

    Netflix/eureka

    12,712Auf GitHub ansehen↗

    Eureka is a service registry and discovery server that serves as a coordination tool for microservices. It provides a distributed service registry where instances record their network locations and health status to enable dynamic communication without the use of hardcoded addresses. The system functions as a client-side load balancing framework, providing location data to consumers so they can distribute network traffic across available instances. It employs a heartbeat-based health monitor to track instance availability and automatically removes unresponsive nodes from the registry to manage

    Implements a framework allowing consumers to distribute network traffic across available instances locally.

    Java
    Auf GitHub ansehen↗12,712
  • moby/buildkitAvatar von moby

    moby/buildkit

    10,061Auf GitHub ansehen↗

    Buildkit is a programmable container build toolkit and OCI container image builder that converts build definitions into concurrent dependency graphs for image construction. It functions as an OCI image distribution engine, capable of generating container images and exporting artifacts to local storage or remote registries. The project is distinguished by its use of a low-level binary intermediate representation to decouple high-level build languages from the execution engine. It supports multi-platform image builds through user-mode architecture emulation and provides a distributed build cach

    Implements client-side logic to distribute build requests across multiple daemon instances using consistent hashing.

    Gobuilderbuildkitcloud-native
    Auf GitHub ansehen↗10,061
  • egametang/etAvatar von egametang

    egametang/ET

    9,813Auf GitHub ansehen↗

    ET is a C# game server framework and distributed actor model runtime designed for large-scale multiplayer environments. It provides a comprehensive toolkit for building distributed game backends, incorporating a multiplayer network transport layer and a specialized suite for game AI and pathfinding. The framework is distinguished by its use of a distributed actor model to scale processing across multiple threads and servers, utilizing isolated actors for state management and messaging. It features a unified codebase architecture that allows shared logic between the server and client, enabling

    Manages dynamic instances and zone splitting to allocate resources based on current player demand.

    C#actorc-sharpdotnet
    Auf GitHub ansehen↗9,813
  • twitter/finagleAvatar von twitter

    twitter/finagle

    8,867Auf GitHub ansehen↗

    Finagle is a distributed service mesh and fault-tolerant remote procedure call framework. It provides a protocol-agnostic network library that implements a consistent interface for different network standards, including HTTP and Thrift. The project distinguishes itself by integrating a fault tolerance library that prevents cascading failures through circuit breaking and timeout management. It also implements a distributed tracing system to track requests across network boundaries and visualize call graphs. The framework covers several core capability areas, including dynamic service discover

    Implements client-side load balancing to distribute outgoing requests across available servers based on health checks.

    Scala
    Auf GitHub ansehen↗8,867
  • nathanmarz/stormAvatar von nathanmarz

    nathanmarz/storm

    8,772Auf GitHub ansehen↗

    Storm is a distributed stream processing framework and fault-tolerant compute engine designed for executing real-time continuous computations across a cluster of machines. It functions as a stateful stream processor and cluster topology manager, enabling the deployment and monitoring of distributed data flow configurations. The system ensures exactly-once semantics by utilizing transactional state management to guarantee that every message in a data stream is processed exactly one time. It further operates as a distributed RPC system, allowing for the integration of non-native languages throu

    Distributes programmatic data processing tasks across a cluster of machines using a coordinator.

    Java
    Auf GitHub ansehen↗8,772
  • smallnest/rpcxAvatar von smallnest

    smallnest/rpcx

    8,295Auf GitHub ansehen↗

    rpcx is a high-performance remote procedure call framework for building scalable microservices in Go. It functions as a binary protocol RPC system and a service mesh, providing the necessary infrastructure for low-latency inter-service communication and distributed cloud environments. The project features a cross-language service gateway that provides an HTTP entry point, allowing clients written in any programming language to invoke Go remote services via protocol translation. It also includes a specialized RPC traffic analyzer for capturing and analyzing binary packets to debug network comm

    Implements client-side load balancing using hashing or round-robin logic to distribute requests across service instances.

    Godubbogrpcmicroservice
    Auf GitHub ansehen↗8,295
  • collabnix/dockerlabsAvatar von collabnix

    collabnix/dockerlabs

    8,008Auf GitHub ansehen↗

    dockerlabs is a collection of educational labs and technical tutorials designed to teach the fundamentals of containerization and microservice architecture. It provides instructional material and hands-on exercises covering image optimization, security training, infrastructure setup, and cluster orchestration. The project features specific courses and guides focused on reducing image size through multi-stage builds, securing workloads via vulnerability scanning and encrypted networks, and deploying multi-node clusters with high availability using Swarm orchestration. The materials cover a br

    Implements routing-mesh load balancing to distribute incoming network traffic across all nodes in a Swarm cluster.

    PHPadvancebeginnersdocker
    Auf GitHub ansehen↗8,008
  • quartznet/quartznetAvatar von quartznet

    quartznet/quartznet

    6,997Auf GitHub ansehen↗

    Quartz.NET is a job scheduler for .NET applications designed to schedule and execute programmatic tasks. It functions as a distributed task orchestrator and enterprise task orchestrator, capable of managing recurring jobs with concurrency limits and complex intervals. The system provides high availability through a clustered execution model that balances loads and provides fail-over redundancy across multiple server instances. It utilizes a relational database job store to persist job and trigger states, ensuring that scheduled tasks survive application restarts. The framework includes capab

    Implements a clustered execution model that balances loads and provides fail-over redundancy across server instances.

    C#c-sharpcrondotnet
    Auf GitHub ansehen↗6,997
  • hazelcast/hazelcastAvatar von hazelcast

    hazelcast/hazelcast

    6,570Auf GitHub ansehen↗

    Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis

    Distributes and manages computational tasks across cluster members to maximize throughput and locality.

    Javabig-datacachingdata-in-motion
    Auf GitHub ansehen↗6,570
  • weiye-jing/datax-webAvatar von WeiYe-Jing

    WeiYe-Jing/datax-web

    6,009Auf GitHub ansehen↗

    DataX Web is a web-based management platform for scheduling, building, executing, and monitoring distributed data synchronization jobs powered by DataX. It provides a visual console for creating and managing DataX tasks without manual JSON configuration, with a distributed executor cluster that auto-registers worker nodes and supports configurable routing and blocking strategies for task distribution. The platform offers cron-based task scheduling with dynamic start, stop, and immediate status changes, along with incremental sync capabilities that pass dynamic parameters to extract only new o

    Assigns tasks to multiple executors that auto-register with a central scheduler for cluster deployment.

    Java
    Auf GitHub ansehen↗6,009
  • asynkron/protoactor-goAvatar von asynkron

    asynkron/protoactor-go

    5,469Auf GitHub ansehen↗

    protoactor-go is a framework for building concurrent and distributed systems in Go using the actor model. It provides a distributed actor system that enables isolated entities to communicate via asynchronous messaging and share state across a cluster. The framework implements a multi-language actor protocol, allowing interoperability between actors written in Go, C#, and Java. It further supports a virtual actor implementation, where actors are automatically instantiated across a network based on a unique identity. The system includes a supervision model for managing actor lifecycles and fau

    Automatically instantiates actors across a cluster based on unique identity rather than fixed locations.

    Goactor-modelactorsakka
    Auf GitHub ansehen↗5,469
  • jerrylead/sparkinternalsAvatar von JerryLead

    JerryLead/SparkInternals

    5,363Auf GitHub ansehen↗

    SparkInternals ist ein technisches Referenz- und Architekturhandbuch, das das interne Design und die Implementierung der verteilten Computing-Engine Apache Spark detailliert beschreibt. Es dient als Analyse von Big-Data-Engines und konzentriert sich darauf, wie das System die Cluster-Ausführung sowie das Zusammenspiel zwischen Driver-Nodes, Executors und Workern verwaltet. Das Projekt bietet eine detaillierte Aufschlüsselung, wie logische Pläne in physische Ausführungsstufen konvertiert werden. Es analysiert spezifisch die Mechanik von Data-Shuffle-Operationen, Speicherverwaltung und die Koordination der verteilten Job-Planung. Die Dokumentation deckt ein breites Spektrum an verteilten Computing-Funktionen ab, einschließlich Query-Execution-Planung, Datenabhängigkeitsmanagement und In-Memory-Caching-Strategien. Zudem werden Aufgabenverteilung, parallele Ausführung sowie Prozesse zur Fehlerwiederherstellung und Datenpersistenz untersucht.

    Implements the architectural pattern for distributing serialized task sets from a driver to remote worker executors.

    Auf GitHub ansehen↗5,363
  • akkadotnet/akka.netAvatar von akkadotnet

    akkadotnet/akka.net

    5,023Auf GitHub ansehen↗

    Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a distributed computing platform and state manager that enables isolated actors to communicate via asynchronous message passing, ensuring thread-safe state management without manual locks. The project is distinguished by its decentralized coordination capabilities, including a distributed state manager that uses sharding and dynamic rebalancing to maintain high availability. It incorporates an event sourcing engine that persists state as a sequence of events in an append-only log an

    Manages the placement of actors across multiple nodes using logical identifiers to ensure high availability and scalability.

    C#actoractor-modelakka
    Auf GitHub ansehen↗5,023
  • ydb-platform/ydbAvatar von ydb-platform

    ydb-platform/ydb

    4,738Auf GitHub ansehen↗

    YDB ist eine verteilte SQL-Datenbank und analytische Engine, die auf horizontale Skalierbarkeit und starke Konsistenz ausgelegt ist. Sie fungiert als Multi-Model-System, das transaktionale und analytische Workloads durch eine verteilte Architektur unterstützt, die serialisierbare ACID-Transaktionen bietet. Das System zeichnet sich durch seine breite Protokollkompatibilität aus und implementiert das PostgreSQL-Wire-Protokoll für Standard-SQL-Treiber sowie das Kafka-Protokoll für Messaging und Streaming. Es dient zudem als Vektordatenbank und unterstützt Vektorindizes sowie die Suche nach ungefähren nächsten Nachbarn (Approximate Nearest Neighbor) für semantische Suche und Embeddings. Die Plattform verwaltet Daten unter Verwendung eines hybriden Speichermodells mit zeilen- und spaltenorientierten Formaten und nutzt vektorisierte Abfrageausführung für Analysen im Petabyte-Maßstab. Ihr operativer Bereich umfasst Change-Data-Capture-Streaming, persistente Queues mit Exactly-Once-Garantie und Multi-Zone-Hochverfügbarkeit. Deployment und Lebenszyklusmanagement werden durch einen Kubernetes-Operator und Infrastructure-as-Code-Provisioning unterstützt.

    Automatically splits table partitions based on data size or request load to balance traffic across nodes.

    C++cloud-nativecppdatabase
    Auf GitHub ansehen↗4,738
  • bjmashibing/internetarchitectAvatar von bjmashibing

    bjmashibing/InternetArchitect

    4,277Auf GitHub ansehen↗

    InternetArchitect ist eine pädagogische Sammlung von Dokumenten und Quellcode, die als Kurs für Hochverfügbarkeitsarchitektur konzipiert ist. Sie dient als Implementierungsleitfaden für verteilte Systeme und bietet technische Patterns und praktische Beispiele für das Design skalierbarer Internetarchitekturen, die unter hoher Verkehrslast stabil bleiben. Das Projekt konzentriert sich auf hochperformante Datenbankoptimierung und Microservices-Design-Patterns. Es deckt Strategien zur Latenzreduzierung und Durchsatzsteigerung durch Datenbank-Sharding und Proxy-Layer ab sowie die Koordination des globalen Zustands über verteilte Cluster hinweg. Der architektonische Umfang umfasst mehrstufige Caching-Strategien zur Beschleunigung des Datenabrufs und die Implementierung von Service-Discovery-Frameworks zur Verwaltung der Kommunikation zwischen entkoppelten Microservices. Es adressiert zudem die Koordination verteilter Zustände und die Nutzung von Load-Balancing-Meshes zur Verteilung des Netzwerkverkehrs auf Backend-Server.

    Provides network distribution mechanisms that route traffic across all nodes in a cluster to saturate available resources.

    Java
    Auf GitHub ansehen↗4,277
  • purpleidea/mgmtAvatar von purpleidea

    purpleidea/mgmt

    4,267Auf GitHub ansehen↗

    Mgmt ist ein verteiltes Konfigurationsmanagementsystem, das den gewünschten Zustand von Clustern mittels ereignisgesteuerter Automatisierung und Closed-Loop-Feedback aufrechterhält. Es fungiert als Infrastruktur-Automatisierungs-Engine, die Systemzustandskorrekturen in Echtzeit basierend auf Ressourcenüberwachung und vordefinierten Spezifikationen auslöst. Das System enthält einen verteilten Cluster-Node-Selektor für die Wahl von Teilmengen von Hosts basierend auf spezifischen Strategien und Einschränkungen, um Workloads zu verteilen. Es verfügt zudem über einen Cloud-Infrastruktur-Manager für die Steuerung des Lebenszyklus von virtuellen Maschineninstanzen, einschließlich Image-Deployment, Regionsauswahl und Startup-Skripten, ergänzt durch einen Hardware-Firmware-Orchestrator für die Installation und Verifizierung von Binärdateien auf Baseboard-Management-Controllern. Zusätzliche Funktionen decken parallele Task-Ausführung, lens-basierte Konfigurationsdateimodifikation und System-Metadatenabruf ab. Das Toolset bietet zudem Dienstprogramme für Datentyp-Transformation, Format-Dekodierung und Umgebungsinspektion, um aktuelle Systemzustände zu bestimmen.

    Selects specific nodes from a group of available hosts to distribute tasks based on custom strategies and constraints.

    Gochoreographyconfig-managementconfiguration-management
    Auf GitHub ansehen↗4,267
Vorherige12Nächste
  1. Home
  2. Software Engineering & Architecture
  3. Load Balancing Architectures

Unter-Tags erkunden

  • Bounded Load PoliciesMechanisms for restricting resource allocation per node to prevent performance hotspots. **Distinct from Load Balancing Architectures:** Distinct from Load Balancing Architectures: focuses on the specific enforcement of capacity limits per node rather than general traffic distribution patterns.
  • Client-Side BalancingTraffic distribution logic executed by the service consumer rather than a centralized gateway. **Distinct from Load Balancing Architectures:** Distinct from general Load Balancing Architectures by specifying the location of the balancing logic on the client side.
  • Clustered Task Distribution2 Sub-TagsArchitectural patterns for distributing programmatic tasks across multiple nodes using a shared state store. **Distinct from Load Balancing Architectures:** Focuses on distributing scheduled jobs across a cluster rather than general network traffic load balancing.
  • Dynamic Shard SplittingAutomated partitioning of data shards to maintain balance and manage growth. **Distinct from Load Balancing Architectures:** Distinct from Load Balancing Architectures: focuses on the data-layer mechanism of splitting shards rather than network traffic distribution.
  • Dynamic Zone ScalingTechniques for splitting game world zones and allocating resources dynamically based on real-time user density. **Distinct from Dynamic Shard Splitting:** Focuses on spatial world partitioning for player demand rather than data-layer shard splitting.
  • Routing Mesh Load BalancingNetwork distribution mechanisms that route traffic across all nodes in a cluster regardless of task placement. **Distinct from Load Balancing Architectures:** Focuses on the specific routing-mesh pattern in Swarm rather than general load balancing architectures
  • Upstream Load BalancingStrategies for distributing outgoing requests across multiple upstream providers to improve reliability. **Distinct from Load Balancing Architectures:** Specifically targets the distribution of outgoing queries to multiple upstream DNS providers rather than general traffic load balancing.