Frage Was ist der Unterschied zwischen Keepalive und Heartbeat?


Ich möchte einen hoch verfügbaren Servercluster strukturieren. Jetzt möchte ich Details über Keepalive und Heartbeat wissen, was ist der Unterschied zwischen beiden, und wie zu wählen.


18
2018-02-17 02:39


Ursprung




Antworten:


Glauben Sie, dass die Frage sehr genau von Willy Tarreau, dem Autor von HAProxy, beantwortet wurde http://www.formilux.org/archives/haproxy/1003/3259.html.

Zitat aus dem obigen Link

Heartbeat ist nicht das beste Werkzeug, um ein redundantes Haproxy-Setup zu erhalten. Es wurde entwickelt, um Cluster zu erstellen, was sich von zwei redundanten zustandslosen Netzwerkausrüstungen unterscheidet. Netzwerkorientierte Tools wie Keepalived oder Ucarp sind für diese Aufgabe am besten geeignet

Der Unterschied zwischen diesen beiden Familien ist einfach

  1. ein clusterorientiertes Produkt wie z Herzschlag stellt sicher, dass eine freigegebene Ressource vorhanden ist maximal ein Platz. Dies ist sehr wichtig für gemeinsam genutzte Dateisysteme, Festplatten, etc ... Es ist so konzipiert, dass ein Dienst während einer Umschaltung auf einem Knoten und auf einem anderen heruntergefahren wird. Auf diese Weise kann niemals auf die gemeinsam genutzte Ressource gleichzeitig zugegriffen werden. Dies ist eine sehr schwierige Aufgabe, und es macht es gut.
  2. ein netzwerkorientiertes Produkt wie z weiterleben stellt sicher, dass eine gemeinsame IP-Adresse vorhanden ist wenigstens ein Platz. Bitte beachten Sie, dass ich nicht mehr von einem Dienst oder einer Ressource spreche, sondern nur mit IP-Adressen. Es wird nicht versucht, irgendeinen Dienst herunterzufahren oder zu erhöhen, es wird lediglich eine gewisse Anzahl von Kriterien berücksichtigen, um zu entscheiden, welcher Knoten am geeignetsten ist, um den Dienst anzubieten. Der Dienst muss jedoch bereits auf beiden Knoten verfügbar sein. Als solches eignet es sich sehr gut für redundante Router, Firewalls und Proxies, aber nicht für Festplatten-Arrays oder Dateisysteme.

(Ja, ich weiß, es ist eine alte Frage, aber für zukünftige Referenz)


21
2018-03-14 14:18



Zukünftige Referenz in der Tat. Heartbeat war ein mühsames Setup und funktionierte. Ich fand, dass keepalived viel einfacher war und mit meinem MySQL Master Master Single Write Setup wie erwartet funktionierte. - Mike Purcell


Es gibt keine klare, konsequente Differenzierung. Diese Wörter werden manchmal mehr oder weniger synonym verwendet.

Es gibt ein gemeinsames Benutzerland Deamon für Hochverfügbarkeits-Setups genannt Keepalived, und das Linux-HA-Projekt hatte früher einen Deamon namens Heartbeat, der jetzt geändert wurde Schrittmacher. (Ich vertraue darauf, dass Sie nicht nach einem vollständigen Überblick über diese beiden Systeme gefragt haben und was all die Unterschiede sind, das wäre IMHO ein Thema.)

Im täglichen Gebrauch der BegriffeIch würde sagen, die häufigste Verwendung ist, dass:

  • "Keepalive" bezieht sich allgemeiner auf ein System, das einen Dienst hochverfügbar hält.

  • "Heartbeat" bezieht sich genauer auf ein Kommunikationsprotokoll, bei dem mindestens ein hochverfügbares Setup regelmäßig "Ja, ich lebe noch!" Sendet. Mitteilungen. Ihre Peers reagieren dann, wenn sie vor einer festgelegten Zeit (d. H. Der andere Host ist ausgefallen) keine Nachricht "Ja, ich lebe" sehen. Das ist ein bisschen wie das Gefühl für einen Puls, daher der Name.


4
2018-02-17 06:10