Clustering și Load Balancing

ce sunt Clustering și Load Balancing

Server Clustering este o metodă de a transforma mai multe servere de calculator într-un cluster, care este un grup de servere care acționează ca un singur sistem.

echilibrarea încărcării se referă la distribuția sarcinilor de lucru pe mai multe resurse de calcul, cum ar fi computere, clustere de servere, legături de rețea etc. Load balancing își propune să optimizeze utilizarea resurselor, să maximizeze debitul, să minimizeze timpul de răspuns și să evite supraîncărcarea oricărei resurse.

un set de replici MongoDB este un grup de procese mongod care mențin același set de date. Seturile de replici oferă redundanță și disponibilitate ridicată și stau la baza tuturor implementărilor de producție.

disponibilitate ridicată (HA) este o caracteristică generală a unui sistem, care urmărește să asigure un nivel convenit de performanță operațională, de obicei uptime, pentru o perioadă mai mare decât cea normală.

MongDB Replica Set

RESTHeart a fost întotdeauna o potrivire foarte bună pentru microservicii și alte stiluri de arhitectura distribuite. Acesta a fost implementat cu succes cu tehnologii de clustering, cum ar fi AWS ECS și Fargate, Kubernetes și multe altele.

cum funcționează

RESTHeart primește practic cereri HTTP și le transformă în interogări MongoDB, prin driverul Java. Crearea unui cluster a fost o chestiune de a pune un echilibru simplu de încărcare HTTP pe partea de sus a tehnologiei de clustering alese, exact așa cum s-ar face cu orice alt server HTTP.

RESTHeart este apatrid pentru toate caracteristicile, dar pentru managerul implicit Token utilizat pentru autentificarea token. Această implementare care vine cu RESTHeart OSS deține jetoanele în memorie. Ca urmare, nu acceptă gruparea.

astfel, un cluster de noduri RESTHeart necesită sesiuni lipicioase atunci când se utilizează autentificarea token altfel nodul RESTHeart ar putea primi un token de autentificare creat de o altă instanță, ceea ce duce la o eroare HTTP 401 “neautorizată”.

deoarece instanțele RESTHeart nu comunică direct (pentru a evita pașii de sincronizare scumpi), atunci nu pot valida jetoanele de autentificare create de alte instanțe din același cluster. Pentru a depăși această situație, HTTP Load Balancer introduce un jeton sticky session într-un cookie și apoi gestionează fluxul de comunicare de la clienți la instanțele RESTHeart în consecință. Sesiunile lipicioase, din punct de vedere arhitectural, introduc un nivel de stare în sistem, iar expirarea lor trebuie reglată cu atenție.

RESTHeart ee capabilities

achiziționarea unei licențe comerciale RESTHeart clustering poate fi configurată mai ușor, fără a fi nevoie de sesiuni lipicioase. Acest lucru permite o implementare complet apatridă.

cu licența, puteți obține un manager de Jetoane specializat care creează jetoane semnate criptografic care pot fi recunoscute de orice nod RESTHeart din cluster fără comunicare directă și sincronizare între ele: rapid, simplu și sigur.

pentru mai multe informații, consultați pagina documentație Token Manager.

 ALB

în rezumat, pașii de nivel superior pentru o configurație RESTHeart + MongoDB foarte disponibilă Sunt:

  1. creați un set de replici MongoDB;

  2. creați un cluster RESTHeart conectat la setul de replici MongoDB;

  3. pune un echilibru de sarcină HTTP pe partea de sus a acesteia.

dacă doriți să aflați mai multe despre clustering, load balancing și disponibilitate ridicată, vă rugăm să ne contactați.

Leave a Reply