Load balancing en servicediscovery
Begrijp hoe SaaS-backends verkeer over meerdere instanties verdelen met load balancers, healthchecks en servicediscovery.
Load balancing en servicediscovery is een gratis SaaS-architectuur en startup-engineering-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject SaaS-architectuur en startup-engineering. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus SaaS-architectuur en startup-engineering bevat in totaal 4 lessen.
Waarom load balancing nodig is
Wanneer één server niet al het verkeer aankan, voer je meerdere kopieën uit. Een load balancer staat ervoor en verdeelt binnenkomende aanvragen over deze instanties.
Dit vormt de basis van horizontaal schalen voor SaaS-backends.
Hoe een load balancer werkt
Clients maken verbinding met één adres. De load balancer accepteert de aanvraag en stuurt die door naar een van de backendservers, waarna hij het antwoord terugstuurt.
Voor de client lijkt het cluster op één krachtige server.
Round robin
Het eenvoudigste algoritme is round robin: aanvragen worden afwisselend aan servers toegewezen. Elke server krijgt een gelijk aandeel.
const servers = ['s1', 's2', 's3'];
let i = 0;
function next() {
const s = servers[i % servers.length];
i++;
return s;
}
console.log(next(), next(), next(), next());Minste verbindingen
Minste verbindingen stuurt elke nieuwe aanvraag naar de server die op dat moment de minste actieve verbindingen verwerkt.
Dit past zich beter aan dan round robin wanneer aanvragen verschillende doorlooptijden hebben.
Laag 4 versus laag 7
Load balancers werken op verschillende netwerklagen:
- Laag 4 (transport) — routeert op basis van IP en poort, zeer snel
- Laag 7 (applicatie) — inspecteert HTTP en kan routeren op basis van URL-pad of headers
Laag 7 maakt slimme routering mogelijk, zoals /api naar de ene pool sturen en /static naar een andere.
Gezondheidscontroles
Een load balancer moet voorkomen dat verkeer naar niet-werkende servers wordt gestuurd. Hij voert periodieke gezondheidscontroles uit op elke instantie.
Een veelgebruikt patroon is een /health-eindpunt dat 200 OK teruggeeft wanneer de applicatie klaar is.
app.get('/health', (req, res) => {
res.status(200).json({ status: 'ok' });
});Sticky sessions
Sommige applicaties bewaren sessiestatus in het geheugen van de server. Sticky sessions koppelen een client aan dezelfde server, zodat de sessie behouden blijft.
Een betere aanpak is om servers stateless te houden en sessies in een gedeelde opslag op te slaan, zodat elke server elke aanvraag kan verwerken.
Servicedetectie
In dynamische omgevingen komen servers voortdurend beschikbaar en verdwijnen ze weer. Servicedetectie houdt een actueel register bij van bestaande en gezonde instanties.
Hulpmiddelen zoals Consul, etcd of Kubernetes-services automatiseren dit.
Detectie aan clientzijde versus serverzijde
Twee modellen:
- Serverzijde — clients sturen aanvragen naar een load balancer die het register raadpleegt
- Clientzijde — clients raadplegen het register rechtstreeks en kiezen zelf een instantie
Serverzijde is eenvoudiger; clientzijde bespaart één netwerkhop.
Integratie met automatisch schalen
Load balancers werken samen met automatisch schalen: wanneer het verkeer toeneemt, worden nieuwe instanties gestart, geregistreerd via servicedetectie en automatisch door de load balancer in de routering opgenomen.
Wanneer het verkeer afneemt, worden instanties na het afhandelen van bestaande verbindingen netjes verwijderd.
Verbindingen netjes afbouwen
Voordat een instantie wordt afgesloten, moet de balancer stoppen met het sturen van nieuwe aanvragen, maar bestaande aanvragen laten afronden. Dit heet verbindingen afbouwen.
Zo voorkom je weggevallen aanvragen tijdens implementaties en momenten waarop wordt afgeschaald.
Korte controle
Test je kennis van load balancing.
Samenvatting
Je hebt geleerd hoe SaaS-backends verkeer verdelen:
- Load balancers met round robin en de minste verbindingen
- Routering op laag 4 versus laag 7 en gezondheidscontroles
- Stateless ontwerp, servicedetectie en verbindingen netjes afbouwen
Samen zorgen deze technieken ervoor dat een backend horizontaal kan schalen en storingen kan doorstaan.
Leer SaaS-architectuur en startup-engineering met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Load balancing en servicediscovery” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad SaaS-architectuur en startup-engineering, waaronder “Load balancing en servicediscovery”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus SaaS-architectuur en startup-engineering bevat in totaal 4 lessen.
Wat leer ik in “Load balancing en servicediscovery”?
Begrijp hoe SaaS-backends verkeer over meerdere instanties verdelen met load balancers, healthchecks en servicediscovery. Je oefent met SaaS-architectuur en startup-engineering door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met SaaS-architectuur en startup-engineering te beginnen?
Ervaring vooraf is niet nodig. SaaS-architectuur en startup-engineering op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Load balancing en servicediscovery”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over SaaS-architectuur en startup-engineering?
Ja. Elke les over SaaS-architectuur en startup-engineering bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Technieken voor horizontale schaling
- Message queues en event-driven architectuur
- Basisprincipes van serverless architectuur
- Load balancing en servicediscovery