Frage

Redis scheint wirklich wie ein großes Produkt mit dem eingebauten Replikation und der erstaunlichen Geschwindigkeit. Nachdem er testet, es fühlt sich definitiv wie 2010 Ersatz von Memcached.

Da jedoch bei normaler Memcached verwenden, eine konsistente Hashing wird gleichmäßig die Daten verteilt auf die Server in einem Pool verwendet wird. Wenn einer der Server im Pool geht nach unten und stoppt zugänglich zu sein, wird transparent behandelt werden und nur die Schlüssel, die verloren wurden, werden über die verbleibenden verfügbaren Server im Pool neu erstellt und verteilt werden.

Redis auf der anderen Seite hat auch eingebaute in sharding, sondern auch eine weitere sehr interessante Funktion namens automatische Replikation. Dank deren Verfügbarkeit der Daten stark erhöht werden kann, während Sklave der Scheiße bei Servern Verwendung unter Verwendung der Lüfter zu treffen.

Allerdings habe ich noch nicht gefunden jede gute Lösung Griff als Slave eines redis Servers Statusänderung automatisch ein neuer Meister zu werden oder durch eine andere Art und Weise die Failover mit Redis automatischen Handhabung.

Wie kann dies geschehen? Was wäre ein geeigneter Ansatz sein?

War es hilfreich?

Lösung

  

Da jedoch bei normaler Memcached verwenden, eine konsistente Hashing wird gleichmäßig die Daten verteilt auf die Server in einem Pool verwendet wird. Wenn einer der Server im Pool geht nach unten und stoppt zugänglich zu sein, wird transparent behandelt werden und nur die Schlüssel, die verloren wurden, werden über die verbleibenden verfügbaren Server im Pool neu erstellt und verteilt werden.

Das ist nicht das, was Memcached der Fall ist, wird die Client-Bibliothek alle diese Magie zu tun;)

  

Aber ich habe festgestellt, noch keine gute Lösung eines redis Servers Status als Slave zu behandeln Ändern einen neuen Master zu werden, automatisch oder durch eine andere Art und Weise der Failover mit Redis automatisch handhaben.

Mit dem SlaveofCommand die Eigenschaften zu ändern. Automatisches Failover müssen ein bisschen mehr Codierung, eine Verbindung zum Server und wenn Sie die Verbindung verloren geht und es nicht wieder schaffen für eine Zeit X dann einen Slave wählen Master zu sein und den Slave-Master-Status aller anderen Servern zu ändern.

Update (01. August 2012): Es gibt jetzt redis Sentinel , eine Überwachung und automatische Failover-Lösung für Version 2.4.16 und höher.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top