2015-06-12 12 views
9

Ich werte ein paar verteilte Schlüssel-Wert-Läden, und etcd und Consul sieht sowohl sehr vielversprechend. Ich bin an Service Discovery, Health Monitoring und Config Services interessiert.Behält Consul den Schlüsselwertspeicher bei?

Ich mag die zusätzlichen Funktionen, die Consul gibt, aber ich kann nicht feststellen, ob es den Schlüssel-Wert speichert, wenn der Dienst ausfällt? Es scheint, dass etcd Persistenz bietet. Irgendein Rat?

Antwort

5

Ich endete mit dem Progrium/Docker-Consul Bild auf Docker und Hinzufügen einiger Schlüssel-Wert-Paare. Nach dem Herunterfahren mit Strg-C waren die Werte immer noch vorhanden, als ich den Container neu startete. Ich tötete auch Konsul von der Befehlszeile über Docker exec, und die Daten wurden auch beibehalten.

Das Bild progrium/docker-consul hat alle Daten im Verzeichnis/data beibehalten.

0

Von einem Kern Consul Entwickler message auf GitHub:

Alle API-registrierten Dienste und prüft auch deren Konfiguration in Datenverzeichnis für die Persistenz zwischen Agenten geschrieben werden neu gestartet, so dass ihre Konfiguration, wenn diese verloren gehen würde Verzeichnis wurde zwischen Consul Neustarts verloren. Dies gilt nicht für Services/Checks, die in den JSON-Dateien für die statische Konfiguration erstellt wurden.

Also, im Falle eines ordnungsgemäßen Herunterfahrens des Cluster-Knotens, wird der Schlüssel/Wert-Speicher im Datenverzeichnis gespeichert.

Im Falle eines unerwarteten Node-Shutdown (Halt) habe ich nicht gefunden, ob KV-Speicher auf Datenverzeichnis beibehalten wird.

6

Konsul-Agenten (cilent & Server) persist Daten in Daten-Verzeichnis.

Der einzige Fall, in dem der Agent Daten nicht persistiert, ist, wo er im Modus "-dev" gestartet wurde.