Strategien für den Load Balancing
Lernen Sie, wie Load Balancer Datenverkehr auf mehrere Server verteilen und dadurch horizontale Skalierung ermöglichen. Erkunden Sie außerdem gängige Routing-Algorithmen und Health Checks.
Strategien für den Load Balancing ist eine kostenlose System Design Basics for Backend Developers-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des System Design Basics for Backend Developers-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der System Design Basics for Backend Developers-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Why Load Balancing?
Once you scale horizontally, you have many identical servers. But how do clients know which one to hit? A load balancer sits in front of your servers and spreads incoming requests across them.
- Prevents any single server from being overwhelmed
- Enables seamless scaling up and down
- Improves availability if one server fails
Where the Balancer Sits
A load balancer is a reverse proxy: clients connect to one address, and the balancer forwards the request to a healthy backend. The client never sees the internal topology.
This indirection is what makes adding or removing servers invisible to users.
Client --> [Load Balancer] --> Server A
--> Server B
--> Server CRound Robin
Round robin is the simplest algorithm: requests are handed to servers in rotation. Server A, then B, then C, then back to A.
It works well when all servers are equally powerful and requests cost roughly the same.
requests = ['r1','r2','r3','r4']
servers = ['A','B','C']
for i, r in enumerate(requests):
print(r, '->', servers[i % len(servers)])Least Connections
Least connections routes each new request to the server with the fewest active connections. This is smarter when request durations vary widely.
A server stuck on slow requests will not keep receiving new ones.
Weighted Algorithms
If servers have different capacity, assign weights. A server with weight 3 receives roughly three times as many requests as a server with weight 1.
- Weighted round robin
- Weighted least connections
IP Hash & Sticky Sessions
IP hash routes a given client consistently to the same server based on a hash of its IP. This creates sticky sessions, useful when a server holds in-memory session state.
Note: stickiness undermines stateless design. Prefer external session stores when possible.
def pick(ip, n):
return hash(ip) % n
print('192.168.0.5 ->', pick('192.168.0.5', 3))Health Checks
A load balancer periodically pings each backend with a health check (e.g. GET /health). Unhealthy servers are removed from rotation automatically.
This is how the system survives a server crash without manual intervention.
Layer 4 vs Layer 7
Layer 4 balancing operates on TCP/UDP, routing by IP and port — fast but blind to content. Layer 7 operates on HTTP, so it can route by URL path, headers, or cookies.
- L4: high throughput, simple
- L7: content-aware, supports path-based routing
DNS Load Balancing
At the largest scale, a single load balancer becomes a bottleneck. DNS-based balancing returns different server IPs to different clients, spreading load before traffic even reaches a balancer.
Often combined with regional balancers for global apps.
Avoiding the Single Point of Failure
The load balancer itself must not be a single point of failure. Run it in an active-passive or active-active pair, with a floating virtual IP that fails over if the primary dies.
Putting It Together
A typical scalable setup: DNS spreads clients across regions, regional L7 balancers do health-checked path routing, and least-connections distributes to a fleet of stateless app servers behind them.
Each layer removes a bottleneck and adds resilience.
Quick Check
Test your understanding of load balancing algorithms.
Recap
You learned how load balancing makes horizontal scaling practical:
- Round robin, least connections, weighted, and IP hash algorithms
- Health checks remove failed servers automatically
- Layer 4 vs Layer 7, plus DNS balancing at scale
- The balancer must itself be redundant
Lerne System Design Basics for Backend Developers mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 12
- Lektionen
- 48
Häufig gestellte Fragen
Ist die Lektion „Strategien für den Load Balancing“ kostenlos?
Ja — der vollständige Text von „Strategien für den Load Balancing“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des System Design Basics for Backend Developers-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der System Design Basics for Backend Developers-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Strategien für den Load Balancing“?
Lernen Sie, wie Load Balancer Datenverkehr auf mehrere Server verteilen und dadurch horizontale Skalierung ermöglichen. Erkunden Sie außerdem gängige Routing-Algorithmen und Health Checks. Du übst System Design Basics for Backend Developers mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um System Design Basics for Backend Developers zu starten?
Keine Vorkenntnisse erforderlich. System Design Basics for Backend Developers auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Strategien für den Load Balancing“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser System Design Basics for Backend Developers-Lektion Code schreiben und ausführen?
Ja. Jede System Design Basics for Backend Developers-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Vertikale oder horizontale Skalierung
- Zustandslose oder zustandsbehaftete Services
- Einführung in verteilte Systeme
- Strategien für den Load Balancing