Clustering og Load Balancing
Hvad er Clustering og Load Balancing
Server Clustering er en metode til at omdanne flere computerservere til en klynge, som er en gruppe servere, der fungerer som et enkelt system.
belastningsbalancering handler om fordelingen af arbejdsbyrder på tværs af flere computerressourcer, såsom computere, serverklynger, netværksforbindelser osv. Load balancing sigter mod at optimere ressourceforbruget, maksimere gennemstrømningen, minimere responstid og undgå overbelastning af en enkelt ressource.
et MongoDB Replikasæt er en gruppe af mongod
processer, der opretholder det samme datasæt. Replikasæt giver redundans og høj tilgængelighed og er grundlaget for alle produktionsinstallationer.
høj tilgængelighed (HA) er et generelt kendetegn ved et system, der sigter mod at sikre et aftalt niveau for operationel ydeevne, normalt oppetid, i en periode, der er højere end normalt.
RESTHeart har altid været en meget god pasform til mikroservices og andre stilarter af distribueret arkitektur. Det er blevet implementeret med succes med clustering teknologier som f.eks ECS og Fargate, Kubernetes og mange andre.
Sådan fungerer det
RESTHeart modtager grundlæggende HTTP-anmodninger og omdanner dem til MongoDB-forespørgsler gennem Java-driveren. Oprettelse af en klynge har været et spørgsmål om at sætte en almindelig HTTP-belastningsbalancer oven på den valgte klyngeteknologi, nøjagtigt som man ville gøre med enhver anden HTTP-server.
RESTHeart er statsløs for alle funktioner, men for Standard Token Manager bruges til token godkendelse. Denne implementering, der følger med RESTHeart OSS, holder tokens i hukommelsen. Som følge heraf understøtter det ikke klyngedannelse.
således kræver en klynge af RESTHeart-noder klæbrige sessioner, når du bruger token-godkendelse, ellers kunne RESTHeart-noden modtage et godkendelsestoken oprettet af en anden instans, hvilket resulterer i en HTTP 401 “Uautoriseret” fejl.
da RESTHeart-forekomster ikke kommunikerer direkte (for at undgå dyre synkroniseringstrin), kan de ikke validere godkendelsestokens oprettet af andre forekomster i samme klynge. For at overvinde denne situation indsætter HTTP Load Balancer et klæbrig sessionstoken i en cookie og håndterer derefter kommunikationsstrømmen fra klienter til RESTHeart-forekomster i overensstemmelse hermed. Sticky sessioner, fra et arkitektonisk synspunkt, indføre et niveau af statefulness i systemet og deres udløb timeout skal omhyggeligt tunet.
RESTHeart ee-funktioner
køb af en RESTHeart Commercial license clustering kan konfigureres lettere uden behov for klæbrige sessioner. Dette muliggør en fuldt statsløs implementering.
med licensen kan du få en specialiseret Token Manager, der skaber kryptografisk underskrevne tokens, der kan anerkendes af enhver RESTHeart node i klyngen uden direkte kommunikation og synkronisering blandt dem: hurtig, enkel og sikker.
For mere information henvises til dokumentationssiden Token Manager.
Sammenfattende er de øverste trin for en meget tilgængelig RESTHeart + MongoDB-konfiguration:
-
Opret en MongoDB replika sæt;
-
Opret en RESTHeart klynge forbundet til MongoDB replika sæt;
-
sæt en HTTP Load Balancer oven på den.
hvis du vil vide mere om klyngedannelse, belastningsbalancering og høj tilgængelighed, bedes du kontakte os.
Leave a Reply