Hohe Verfügbarkeit und Lastausgleich von Redis

Hohe Verfügbarkeit und Lastausgleich von Redis

Ich verwende Redis schon seit einiger Zeit und jetzt möchten wir zu einem redundanten Cluster wechseln, der fehlertolerant, hochverfügbar und lastausgeglichen ist.

Ich verwende Redis hauptsächlich für einige PHP-Webanwendungen, die Informationen zum Prozessstatus speichern (hierfür verwende ich PHPRedis), und ich möchte es auch für den PHP-Sitzungsspeicher in einem Cluster mit Lastenausgleich verwenden.

Ich habe bereits ein Load Balancing, das ich für Nginx und MySQL verwende (basierend auf pfSense).

Ich habe gesehen, dass es Redis Cluster für Redis 3 gibt, habe aber auch einige Kommentare darüber gelesen, dass es noch nicht produktionsbereit sei, und andere, in denen es heißt, dass Redis keine vollständige Master/Master-Cluster-Konfiguration durchführen kann.

Was ist Ihr Rat?

  • Redis Cluster testen
  • Wechseln Sie zu einer anderen Schlüssel=Wert-Engine (CouchDB? Memcached? Andere?)
  • Ich mache mir keine Gedanken über Lastenausgleich und verwende immer nur einen Knoten des Clusters und ein manuelles Failover, da ich keine Persistenz verwende
  • Andere Ideen?

Vielen Dank für Ihre Hilfe!

Antwort1

Mit Redis Sentinel können Sie mehrere Redis-Instanzen ausführen und das Failover für Sie übernehmen. http://redis.io/topics/sentinel

Antwort2

Eine naheliegende Lösung zum Lastenausgleich von Redis ist die VerwendungWächter.

Soweit ich sehe, unterstützt Predis Sentinel derzeit nicht. Siehe:

https://github.com/nrk/predis/issues/131

Eine mögliche Lösung kann seinRedis Sentinel + HAProxy-Failoverwenn Sie Predis weiterhin verwenden möchten.

verwandte Informationen