Clustering en taakverdeling

Wat zijn Clustering en taakverdeling

Serverclustering is een methode om meerdere computerservers om te vormen tot een cluster, een groep servers die als een enkel systeem werkt.

Load Balancing gaat over de verdeling van workloads over meerdere computerbronnen, zoals computers, serverclusters, netwerkverbindingen, enz. Load balancing heeft als doel het resourcegebruik te optimaliseren, de doorvoer te maximaliseren, de responstijd te minimaliseren en overbelasting van een enkele resource te voorkomen.

een MongoDB – replica is een groep van mongod processen die dezelfde gegevensverzameling onderhouden. Replica sets bieden redundantie en hoge beschikbaarheid en vormen de basis voor alle productie-implementaties.

hoge beschikbaarheid (HA) is een algemeen kenmerk van een systeem, dat tot doel heeft te zorgen voor een overeengekomen niveau van operationele prestaties, gewoonlijk uptime, gedurende een langere periode dan normaal.

MongDB Replica set

RESTHeart is altijd een zeer goede pasvorm geweest voor Microservices en andere stijlen van gedistribueerde architectuur. Het is met succes geïmplementeerd met clustering technologieën zoals AWS ECS en Fargate, Kubernetes en vele anderen.

hoe het werkt

RESTHeart ontvangt in principe HTTP-verzoeken en transformeert ze in MongoDB-query ‘ s, via het Java-stuurprogramma. Het maken van een cluster is een kwestie van het plaatsen van een gewone HTTP load balancer op de top van de gekozen clustering technologie, precies zoals men zou doen met elke andere HTTP server.

RESTHeart is stateloos voor alle functies, behalve voor de standaard Tokenbeheer die wordt gebruikt voor token authenticatie. Deze implementatie die wordt geleverd met RESTHeart OSS houdt de tokens in het geheugen. Als gevolg hiervan ondersteunt het geen clustering.

een cluster van RESTHeart-knooppunten vereist dus sticky-sessies wanneer tokenverificatie wordt gebruikt, anders kan het RESTHeart-knooppunt een authenticatietoken ontvangen die door een andere instantie is aangemaakt, wat resulteert in een HTTP 401 “ongeautoriseerde” fout.

omdat RESTHeart-instanties niet direct communiceren (om dure synchronisatiestappen te vermijden), kunnen ze authenticatie-tokens die door andere instanties in hetzelfde cluster zijn gemaakt, niet valideren. Om deze situatie te overwinnen, voegt de HTTP Load Balancer een sticky session token in een cookie en behandelt vervolgens de communicatiestroom van clients naar RESTHeart instances dienovereenkomstig. Sticky sessions, vanuit een architectonisch oogpunt, introduceren een niveau van status in het systeem en hun vervaltijd moet zorgvuldig worden afgestemd.

RESTHeart EE mogelijkheden

het kopen van een RESTHeart commerciële licentie clustering kan eenvoudiger worden geconfigureerd, zonder de noodzaak van sticky sessies. Dit maakt een volledig stateloze inzet mogelijk.

met de licentie kunt u een gespecialiseerde Tokenmanager krijgen die cryptografisch ondertekende tokens maakt die door elk RESTHeart-knooppunt in het cluster kunnen worden herkend zonder directe communicatie en synchronisatie tussen hen: snel, eenvoudig en veilig.

voor meer informatie zie de documentatie van Token Manager.

ALB

samengevat zijn de stappen op het hoogste niveau voor een zeer beschikbare RESTHeart + MongoDB-configuratie::

  1. een MongoDB-replica-Set aanmaken;

  2. een RESTHeart-cluster aanmaken dat is aangesloten op de MongoDB Replica-Set;

  3. zet er een HTTP Load Balancer op.

wilt u meer weten over clustering, load balancing en hoge beschikbaarheid, neem dan contact met ons op.

Leave a Reply