Gibt es einen Vorteil, Redis auf mehr als einer Instanz auszuführen?
Ja. Es gibt mindestens drei Vorteile.
- Redis ist Single-Threaded (tatsächlich hat es mehr als einen Thread, aber die meiste Arbeit wird in einem einzigen Thread erledigt). Mit mehr als einer Instanz können Sie eine bessere Leistung erzielen.
- Redis speichert Daten im Arbeitsspeicher, und der Speicher ist auf die Größe des Arbeitsspeichers einer einzelnen Maschine beschränkt. Um mehr Daten zu speichern, können Sie mehr als eine Redis-Instanz auf verschiedenen Computern bereitstellen, und jede Instanz speichert einen anderen Teil der gesamten Daten.
- Sie können eine Redis-Master-Instanz und ihre Slave-Instanz auf zwei verschiedenen Computern ausführen. Wenn die Maschine, auf der die Master-Instanz ausgeführt wird, ausgefallen ist, kann die Slave-Instanz die Anfragen weiterhin bedienen.
Wenn ja, wie erreichen Sie Parität zwischen mehr als einer Redis-Instanz?
Ich bin mir nicht sicher, was Sie mit Parität meinen . Meinst du eine Master-Slave-Beziehung? Redis kann einen Master mit mehreren Slaves haben, und jeder Slave kann sogar seine eigenen Slaves haben (wenn ich mich recht erinnere).
Würden nicht einige der Vorteile der Verwendung von Redis überhaupt zunichte gemacht, wenn Sie mehr als eine Instanz einer Web-App verwenden? Die Interaktion mit Redis auf einem lokalen Computer scheint viel schneller zu sein, als die Daten aus dem Speicher von Instanz A abzurufen und sie dann über das Netzwerk zu Instanz B zu verschieben.
Wenn Sie die Redis-Instanz und die Web-App-Instanz auf zwei verschiedenen Computern bereitstellen, müssen Sie sicherstellen, dass das Netzwerk zwischen den beiden Computern niedrige Latenz aufweist .