Ich verwende Redis 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 eine PHP-Webanwendung, in der einige Prozessstatusinformationen gespeichert sind (ich verwende hierfür PHPRedis), und ich möchte es auch für den PHP-Sitzungsspeicher in einem Cluster mit Lastenausgleich verwenden.
Ich habe bereits einen Load Balancing, den ich für Nginx und MySQL verwende (basierend auf pfSense).
Ich habe gesehen, dass Redis Cluster für Redis 3 existiert, aber ich habe auch einige Kommentare darüber gelesen, dass es nicht für die Produktion bereit ist, andere, die besagen, dass Redis keine vollständige Master / Master-Cluster-Konfiguration durchführen kann.
Was raten Sie?
- Versuchen Sie es mit Redis Cluster
- Wechseln Sie zu einer anderen key = value-Engine (CouchDB? Memcached? Others?)
- Machen Sie sich nichts aus dem Lastenausgleich und verwenden Sie nur einen Knoten des Clusters pro Zeit sowie ein manuelles Failover, da ich keine Persistenz verwende
- Andere Ideen?
Vielen Dank für Ihre Hilfe!
quelle
Eine naheliegende Lösung für Redis im Lastausgleich ist die Verwendung von Sentinel .
Soweit ich sehen kann, unterstützt predis Sentinel derzeit nicht. Sehen:
https://github.com/nrk/predis/issues/131
Eine mögliche Lösung kann Redis Sentinel + HAProxy-Failover sein, wenn Sie weiterhin Predis verwenden möchten.
quelle