bietet jemand eine fehlertolerante (replizierte) Memcache-Lösung an, die in Amazon EC2 gehostet wird, keinerlei Wartung benötigt und mit der Bereitstellung von nur einer IP funktioniert?
Ich weiß, dass Amazon ElastiCache anbietet. Aber es ist immer noch recht niedrig und hat einige Nachteile:
- es muss gewartet werden (z. B. Anzahl der Instanzen festlegen, IP-Adressen verwalten usw.)
- es führt keine Replikation durch (mir sind Client-Bibliotheken bekannt, die dies tun. Dies ist jedoch nicht so sicher wie eine serverseitige Lösung)
- es funktioniert nicht mit einer angegebenen IP-Adresse
- wird derzeit in der EU West (Irland) nicht angeboten (aber ich bin sicher, dass das kommen wird)
- derzeit nur Beat (wird sich in Zukunft ändern)
Ich träume von einem gehosteten Dienst, der mir eine IP-Adresse gibt und „einfach immer funktioniert“.
Danke, Marcel
Antwort1
Memcache (und ElastiCache als Erweiterung) ist kein sicherer, dauerhafter Datenspeicher. Es handelt sich um einen Caching-Mechanismus. Ziel ist es, die Anwendungsgeschwindigkeit zu verbessern. Memcache löscht von Haus aus alte Daten, wenn neue Daten eingehen, wenn Speichergrenzen erreicht werden.
Replikation und „Fehlertoleranz“ sind nicht Teil des Memcache-Systems.
Aus diesem Grund sollte sich Ihre Anwendung nicht darauf verlassen, dass die Daten vorhanden sind. Stattdessen sollte sie sich darauf verlassen, dass sie auf zwischengespeicherte Daten stößt, und Daten für die Zwischenspeicherung speichern, wenn sie nicht auf Daten stößt.
Wenn Sie nach einer „einfachen“ Memcache-Client-Schnittstelle suchen, können Sie sich je nach Ihrer Entwicklungssprache ServiceStack (www.servicestack.net) ansehen. Sie haben eine .NET-Bibliothek namens ServiceStack.Caching, die Sie als Memcache-Client verwenden können. Ich habe es nicht ausprobiert, aber ich gehe davon aus (und hoffe), dass es auch mit ElastiCache funktioniert.