Lastbalansering och tjänsteupptäckt
Förstå hur SaaS-backend distribuerar trafik över många instanser med hjälp av lastbalanserare, hälsokontroller och tjänsteupptäckt.
Lastbalansering och tjänsteupptäckt är en gratis lektion i SaaS-arkitektur och startupteknik på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för SaaS-arkitektur och startupteknik, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i SaaS-arkitektur och startupteknik innehåller totalt 4 lektioner.
Behovet av lastbalansering
När en server inte kan hantera all trafik kör du flera kopior. En lastbalanserare placeras framför dem och fördelar inkommande förfrågningar mellan instanserna.
Detta är grunden för horisontell skalning av SaaS-backendservrar.
Så fungerar en lastbalanserare
Klienterna ansluter till en enda adress. Lastbalanseraren tar emot förfrågan och vidarebefordrar den till en av backendservrarna, och skickar sedan svaret tillbaka.
För klienten ser klustret ut som en enda kraftfull server.
Round robin
Den enklaste algoritmen är round robin: förfrågningar skickas till servrarna i tur och ordning. Varje server får lika stor andel.
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());Minst antal anslutningar
Minst antal anslutningar dirigerar varje ny förfrågan till den server som för närvarande hanterar minst antal aktiva anslutningar.
Det anpassar sig bättre än round robin när förfrågningar har olika lång varaktighet.
Lager 4 kontra lager 7
Lastbalanserare arbetar på olika nätverkslager:
- Lager 4 (transport) — dirigerar efter IP och port, mycket snabbt
- Lager 7 (applikation) — inspekterar HTTP och kan dirigera efter URL-sökväg eller headers
Lager 7 möjliggör smart dirigering, till exempel att skicka /api till en pool och /static till en annan.
Hälsokontroller
En lastbalanserare måste undvika att skicka trafik till servrar som ligger nere. Den kör regelbundna hälsokontroller mot varje instans.
Ett vanligt mönster är en /health-endpoint som returnerar 200 OK när applikationen är redo.
app.get('/health', (req, res) => {
res.status(200).json({ status: 'ok' });
});Klistriga sessioner
Vissa applikationer lagrar sessionstillstånd i serverns minne. Klistriga sessioner binder en klient till samma server så att sessionen består.
Bättre praxis är att hålla servrar tillståndslösa och lagra sessioner i ett gemensamt lager, så att vilken server som helst kan hantera vilken förfrågan som helst.
Tjänsteupptäckt
I dynamiska miljöer tillkommer och försvinner servrar hela tiden. Tjänsteupptäckt håller ett uppdaterat register över vilka instanser som finns och är friska.
Verktyg som Consul, etcd och Kubernetes-tjänster automatiserar detta.
Upptäckt på klient- kontra serversidan
Det finns två modeller:
- Serversida — klienterna når en lastbalanserare som frågar registret
- Klientsida — klienterna frågar registret direkt och väljer själva en instans
Serversidan är enklare; klientsidan tar bort ett nätverkshopp.
Integration med autoskalning
Lastbalanserare kombineras med autoskalning: när trafiken ökar startas nya instanser, de registreras genom tjänsteupptäckt och balanceraren börjar automatiskt dirigera trafik till dem.
När trafiken minskar tas instanser bort på ett kontrollerat sätt efter att anslutningarna har tömts.
Kontrollerad tömning
Innan en instans stängs av bör balanceraren sluta skicka nya förfrågningar till den, men låta befintliga förfrågningar slutföras. Detta kallas anslutningstömning.
Det förhindrar att förfrågningar tappas under driftsättningar och nedskalning.
Snabb kontroll
Testa dina kunskaper om lastbalansering.
Sammanfattning
Du har lärt dig hur SaaS-backendservrar fördelar trafik:
- Lastbalanserare med round robin och minst antal anslutningar
- Dirigering på lager 4 kontra lager 7 och hälsokontroller
- Tillståndslös design, tjänsteupptäckt och kontrollerad tömning
Tillsammans gör detta att en backend kan skala horisontellt och klara av fel.
Lär dig SaaS-arkitektur och startupteknik med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Lastbalansering och tjänsteupptäckt” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen SaaS-arkitektur och startupteknik, inklusive ”Lastbalansering och tjänsteupptäckt”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i SaaS-arkitektur och startupteknik innehåller totalt 4 lektioner.
Vad lär jag mig i ”Lastbalansering och tjänsteupptäckt”?
Förstå hur SaaS-backend distribuerar trafik över många instanser med hjälp av lastbalanserare, hälsokontroller och tjänsteupptäckt. Ni övar på SaaS-arkitektur och startupteknik med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig SaaS-arkitektur och startupteknik?
Du behöver inga förkunskaper. Utbildningen i SaaS-arkitektur och startupteknik på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Lastbalansering och tjänsteupptäckt”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här SaaS-arkitektur och startupteknik-lektionen?
Ja. Varje SaaS-arkitektur och startupteknik-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Tekniker för horisontell skalning
- Meddelandeköer och händelsestyrd arkitektur
- Grunderna i serverless-arkitektur
- Lastbalansering och tjänsteupptäckt