In diesem Dokument wird eine Architektur für die Migration von Redis-kompatiblen Quellen wie Redis Open Source (Redis OSS), AWS ElastiCache und Azure Cache für Redis zur vollständig verwalteten Redis Enterprise Cloud in Google Cloud mithilfe des Redis Input and Output Tool (RIOT) Live-Migrationsdienst beschrieben. Dieses Dokument richtet sich an Datenbankarchitekten, Datenbankadministratoren und Datenbankentwickler, die von Redis-kompatiblen Quellen zur vollständig verwalteten Redis Enterprise Cloud migrieren möchten.
Redis Enterprise Cloud ist eine vollständig verwaltete Redis-Lösung für Unternehmen, die Ihre geschäftskritischen Anwendungen unterstützen kann. Im Vergleich zu Redis-kompatiblen Quellen bietet sie eine verbesserte Skalierbarkeit, Verfügbarkeit, Sicherheit und Betriebseffizienz. Mit RIOT, einem kostenlosen Befehlszeilen-Dienstprogramm, können Sie Ihre Daten ohne Dienstunterbrechung oder Ausfallzeit von Redis zu Redis Enterprise Cloud migrieren.
Architektur
Das folgende Diagramm zeigt die Migrationsarchitektur:
Im Diagramm wird der RIOT-Live-Migrationsdienst verwendet, um Redis-kompatible Quellen zu Redis Enterprise Cloud zu migrieren.
Die Architektur umfasst die folgenden Komponenten:
- Quelle: Redis-kompatible Quellen wie Redis OSS, AWS ElastiCache und Azure Redis.
- Ziel: Redis Enterprise Cloud, die in einer von Redis verwalteten VPC ausgeführt wird.
- Migrationsdienst: RIOT, wird auf Compute Engine-VMs (virtuellen Maschinen) ausgeführt.
Verwendete Produkte
In dieser Referenzarchitektur werden die folgenden Google Cloud- und Drittanbieterprodukte verwendet:
- Compute Engine: Ein sicherer und anpassbarer Computing-Dienst, mit dem Sie virtuelle Maschinen in der Infrastruktur von Google erstellen und ausführen können.
- RIOT-Live-Migration: Ein kostenloses Befehlszeilen-Dienstprogramm, mit dem Sie Daten in Redis ein- und auslesen können.
- Redis Enterprise Cloud in Google Cloud: Eine vollständig verwaltete Redis-Lösung für Unternehmen, die Ihre geschäftskritischen Anwendungen unterstützen kann.
Anwendungsfall
Redis bietet eine Latenz von weniger als einer Millisekunde, Unterstützung für erweiterte Datenstrukturen, Ausfallsicherheit und Open-Source-Portabilität. Es kann jedoch schwierig sein, selbst verwaltete Redis-kompatible Quellen zu skalieren, um die anspruchsvollen Arbeitslasten von Unternehmen zu erfüllen und gleichzeitig extrem niedrige Latenzen beizubehalten. Wenn Sie das Potenzial Ihres selbstverwalteten Redis-Clusters erschöpfen, kann die Skalierung schwierig sein. Es ist zeitaufwendig und fehleranfällig, eine hochverfügbare Lösung zu entwerfen und die Replikation zu verwalten. Die Skalierung stellt auch logistische Herausforderungen und Kosten in Bezug auf die Hardwareverwaltung, das Patchen und Upgrades dar.
Redis Enterprise Cloud ist vollständig in Google Cloud integriert und bietet einen Echtzeit-Datenbankdienst zum Ausführen, Skalieren und Verwalten von Redis. Redis Enterprise Cloud bietet einen Open-Source-Kern, vollständige Funktionen und Sicherheit für Unternehmen, branchenführende Leistung, Skalierung und Verfügbarkeit, die für geschäftskritische Anwendungen erforderlich sind. Redis Enterprise Cloud bietet eine Latenz von weniger als einer Millisekunde, ein Failover in nur wenigen Sekunden und eine Verfügbarkeit von 99, 999 %.
Designalternativen
RIOT bietet eine flexible Migrationslösung für Redis. In den folgenden Abschnitten werden mögliche Designalternativen für diese Architektur vorgestellt. Bei den Alternativen kommt es entweder zu einer Ausfallzeit oder die Zieldatenbank muss sich in einem flexiblen (oder Jahres-)Abo für Redis befinden.
RDB-Snapshots
Mit einem Redis-Datenbank-Snapshot (RDB) können Sie Ihre Daten in Redis in einem dauerhaften Speicher sichern. Es erstellt Snapshots Ihres Datensatzes zu einem bestimmten Zeitpunkt und wird häufig zum Sichern von Daten in Redis verwendet. Alternativ zur Verwendung von RIOT können Sie auch einen RDB-Snapshot verwenden, um von einer Redis OSS-Instanz zu Redis Enterprise zu migrieren. Im Gegensatz zu RIOT unterstützt der RDB-Snapshot jedoch keine Live-Migration und es kommt zu einer Ausfallzeit.
Mit Aktiv-Passiv synchronisieren
Mit dem Redis OSS-Befehl ReplicaOf
können Sie eine Redis-Instanz als Replik eines anderen Redis-Servers konfigurieren. Der Befehl wird im Zusammenhang mit der Redis-Replikation verwendet, mit der Sie Kopien Ihrer Daten in verschiedenen Redis-Instanzen erstellen können. Wie RIOT unterstützt der Befehl ReplicaOf
die Live-Migration und verursacht keine Ausfallzeiten. Der Befehl ist jedoch in Redis OSS integriert, sodass Sie keine Tools installieren müssen.
Bei der aktiven/passiven geografischen Verteilung von Redis Enterprise wird der Befehl ReplicaOf
verwendet, um eine Redis-Bereitstellung an mehreren geografischen Standorten zu skalieren. Wenn sich die Zieldatenbank in einem flexiblen (oder jährlichen) Abo befindet, kann der Befehl auch verwendet werden, um Daten aus einer Redis-Datenbank zu Redis Enterprise Cloud-Abos zu migrieren. Der Befehl funktioniert jedoch nicht, wenn das Ziel ein festes Abo ist, und auch nicht zwischen flexiblen Abos verschiedener Redis Cloud-Konten.
Designaspekte
Die folgenden Richtlinien können Ihnen bei der Entwicklung einer Architektur helfen, die den Anforderungen Ihrer Organisation hinsichtlich Zuverlässigkeit, Kosten und Leistung entspricht.
Zuverlässigkeit
Die Migration in dieser Architektur ist eine einseitige Migration von einer Redis OSS-Quellinstanz zu einer Redis Enterprise-Ziel-Instanz. Nachdem Sie eine Umstellung von der Redis OSS-Quellinstanz auf den Redis Enterprise-Zielcluster abgeschlossen haben, werden die Quelldatenbanken bei Änderungen am Zielcluster nicht mehr aktualisiert. Wenn Sie diese Architektur in einer Produktionsumgebung implementieren, können Sie Ihre Anwendungen daher nicht auf aktuelle Quellinstanzen in einem Fallback umstellen.
Kostenoptimierung
Wenn Sie Redis OSS-Instanzen zu Redis Enterprise migrieren, empfehlen wir Ihnen, Ihre Redis Enterprise-Zieldatenbanken in Abos zu gruppieren, damit Sie die Gesamtbetriebskosten über Mandantenfähigkeit senken können. Wenn Sie beispielsweise eine Gruppe von Datenbanken haben, die für die Entwicklung und Tests vorgesehen sind, können Sie sie in einem einzigen Abo gruppieren, da sie gemeinsame Merkmale und Netzwerkanforderungen haben. Ebenso kann eine Gruppe von Datenbanken für die Produktion in einem anderen Abo gehostet werden.
Leistung
RIOT Live Migration unterstützt praktisch keine Ausfallzeiten. Während der Migration von der Redis-OSS-Quellinstanz können Ihre Anwendungen weiterhin ohne Auswirkungen auf die Redis-OSS-Instanz zugreifen. Während des Migrationsprozesses migriert RIOT Live Migration nach dem anfänglichen Laden von Daten aus Redis OSS weiterhin Änderungen von Redis OSS, sobald sie auftreten.
Nachdem die anfänglichen Schlüssel/Wert-Paare migriert wurden, führen Sie die Umstellung von der Redis OSS-Quellinstanz zur Redis Enterprise-Zielinstanz durch. Im Rahmen der Umstellung sperren Sie die Clientschreibvorgänge auf die Redis OSS-Quellinstanz. Warten Sie dann, bis RIOT alle verbleibenden Änderungen von der Redis OSS-Quellinstanz in die Redis Enterprise-Zielinstanz verarbeitet hat.
Bereitstellung
Informationen zum Bereitstellen dieser Architektur finden Sie unter RIOT-Live-Migration für die Migration von Redis Open Source zu Redis Enterprise Cloud bereitstellen.
Nächste Schritte
- Inhalte zur Datenmigration in Google Cloud lesen
- Eine ausführlichere Dokumentation und Best Practices finden Sie in der RIOT-Dokumentation.
- Weitere Referenzarchitekturen, Diagramme und Best Practices finden Sie im Cloud-Architekturcenter.
Beitragende
Autoren:
- Saurabh Kumar | ISV Partner Engineer
- Gilbert Lau | Principal Cloud Architect, Redis
Weitere Beitragende:
- Chris Mague | Customer Engineer, Datenverwaltung
- Gabe Weiss Developer Advocacy Manager
- Marco Ferrari | Cloud Solutions Architect