Puncte:0

Cozi de cvorum RabbitMQ - au nodul să se reunească automat

drapel ma

eu explorez Cozi de cvorum RabbitMQ pentru a îmbunătăți HA pentru unele servicii dintr-un cluster Kubernetes. Pe măsură ce citesc, acestea sunt concepute având în vedere siguranța datelor.

Însă capitolul „Gestionarea replicilor” afirmă:

Replicile unei cozi de cvorum sunt gestionate în mod explicit de către operator. Când un nou nod este adăugat la cluster, acesta nu va găzdui nicio coadă de cvorum replici, cu excepția cazului în care operatorul îl adaugă în mod explicit unui membru (replica) lista unei cozi de cvorum sau un set de cozi de cvorum.

Se pare deci că, în cazul întreruperi (în special involuntar), ar putea apărea următoarea situație (pentru un cluster cu 3 noduri):

  1. după o întrerupere un nod ar cădea: celelalte două noduri încă compun majoritatea și vor „ține coada vie”, eventual alegând un nou lider;
  2. kubernetes va furniza un nou nod (pod) pentru a înlocui nodul eșuat; noul nod se va alătura automat cluster-ului RabbitMQ, dar
  3. cu excepţia cazului în care operatorul intervine manual, noul nod va nu contribuie la cozile de cvorum existente;
  4. pentru un cluster cu 3 noduri, aceasta înseamnă că nu mai există HA: dacă, cândva în viitor, unul dintre celelalte noduri eșuează, coada este efectiv pierdută;

Există vreo modalitate de a atenua acest scenariu? Este, de exemplu, posibil ca nodurile să se alăture automat toate clusterele existente de cozi de cvorum? Poate prin menținerea unei liste de „comenzi de pornire” (care rulează după pornirea RabbitMQ) la care am putea adăuga reunește comenzile?

Mikołaj Głodziak avatar
drapel id
Ce versiune de Kubernetes ați folosit și cum ați configurat clusterul? Ați folosit instalație bare metal sau vreun furnizor de cloud? Este important să vă reproduceți problema.
Puncte:1
drapel br

Echipa RabbitMQ recomandă cu căldură utilizarea operatorului oficial Kubernetes - https://www.rabbitmq.com/kubernetes/operator/operator-overview.html

În afară de asta, iată ce are de spus expertul local k8s:

Kubernetes nu va șterge doar aleatoriu un volum persistent - dacă nodul s-a oprit dintr-un motiv oarecare, va începe cu același nume și aceleași date

Atâta timp cât se utilizează același nume și date, nodul „noul” se va alătura exact ca și cum ar fi fost cel vechi.

Probabil că există scenarii care necesită intervenție manuală, dar nu sunt atât de frecvente pe cât ați crede.


NOTĂ: echipa RabbitMQ monitorizează rabbitmq-utilizatori listă de email-uri și doar uneori răspunde la întrebări pe StackOverflow.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.