Hohe Verfügbarkeit in Azure-In-Role Cache

Wichtig

Microsoft empfiehlt, alle neuen Entwicklungen azure Redis Cache zu verwenden. Aktuelle Dokumentation und Anleitung zum Auswählen eines Azure Cache-Angebots finden Sie unter Welches Azure Cache-Angebot ist für mich geeignet?

In-Role Cache ermöglicht Es Ihnen, hohe Verfügbarkeit für zwischengespeicherte Objekte beizubehalten. Verwenden Sie die Azure-Rolleneigenschaften, um hohe Verfügbarkeit für jeden Cache zu aktivieren, der dieses Feature erfordert. Es sind keine Codeänderungen erforderlich. Sie müssen nur die erforderliche Speicherkapazität für Ihre Arbeitsauslastung erneut berechnen. Dies kann durch Aktivieren der Einstellung Hohe Verfügbarkeit in der Kapazitätsplanungstabelle erfolgen. Weitere Informationen finden Sie unter Überlegungen zur Kapazitätsplanung für Azure In-Role Cache.

Zwischengespeicherte Objekte werden bei Hochverfügbarkeit innerhalb der gleichen Cloud-Dienstbereitstellung aus Gründen der Stabilität bei einem Hardwarefehler repliziert. Außerdem werden sekundäre Kopien auf verschiedenen Fehler- und Upgradedomänen gespeichert, um die Verfügbarkeit zu erhöhen. Wenn einer der virtuellen Computer im Cachecluster aus beliebigen Gründen ausfällt, kann der Cachecluster die sekundären Kopien verwenden, um Datenverluste zu vermeiden.

Aufbau

Für hohe Verfügbarkeit sind mehrere Instanzen der zugehörigen Rolle erforderlich. Eine zweite Kopie des zwischengespeicherten Elements wird für eine separate Instanz verwaltet, die zu einer anderen Fehler- und Upgradedomäne gehört. Auf diese Weise ist eine Sicherungskopie für eine andere Instanz vorhanden, wenn eine Instanz ausfällt. In diesem Szenario wird die sekundäre Kopie zur primären Kopie hochgestuft. Anschließend wird eine neue sekundäre Kopie für eine der verbleibenden Instanzen erstellt, um die Hochverfügbarkeit aufrecht zu erhalten.

Damit Hochverfügbarkeit implementiert wird, erfolgen alle Cacheschreibvorgänge für die primären und sekundären Kopien.

Hinweis

Beachten Sie, dass der Cachecluster selbst bei deaktivierter Hochverfügbarkeit versucht, Daten bei geplantem Herunterfahren (z. B. bei einem Neustart) zu sichern. In diesem Szenario versucht der Cachecluster, zwischengespeicherte Elemente vor dem Herunterfahren auf andere Server zu übertragen. Abhängig von der Menge der zu übertragenden Daten wird jedoch nicht gewährleistet, dass dieses normale Herunterfahren abgeschlossen werden kann. Im Gegensatz zur Hochverfügbarkeit werden die Daten bei unerwartetem Herunterfahren nicht gesichert.

Überlegungen

Die Rolle, die In-Role Cache hostet, sollte für die Ausführung auf mindestens vier Instanzen konfiguriert werden. Hohe Verfügbarkeit kann für Rollen aktiviert werden, die für zwei oder drei ausgeführte Instanzen konfiguriert sind. Dies wird aus den folgenden beiden Gründen jedoch nicht empfohlen.

  • Azure startet manchmal virtuelle Computer zur routinen Wartung neu. Bei lokalen Updates einer Anwendung werden virtuelle Computer ebenfalls offline geschaltet. In beiden Szenarien ist es besser, mindestens drei Server im Cachecluster zu verwenden. Wenn einer der Server ausfällt, verfügt der Cachecluster auf diese Weise noch über drei Server, auf denen primäre und sekundäre Kopien zwischengespeicherter Objekte erstellt werden. Wenn nur ein Server ausgeführt wird, kann auf den Cache zwar noch zugegriffen werden, Hochverfügbarkeit ist jedoch nicht möglich.

  • Auch wenn drei Server die zuvor genannte Anforderung erfüllen, werden vier Server empfohlen. Auf diese Weise werden die primären Kopien gleichmäßiger auf die Fehlerdomänen verteilt. Die Datenverteilung im Cachecluster wird optimiert. Dies führt auch zu einer Verbesserung der Muster und der Leistung des Netzwerkdatenverkehrs.

Wenn eine Instanz nicht mehr verfügbar ist, tritt eine kurze Zeitspanne auf, in der sekundäre Kopien zu primären Kopien hochgestuft und Routinginformationen aktualisiert werden. Während dieser Zeit erhalten Clients DataCacheException-Ausnahmen mit einem ErrorCode von RetryLater. In-Role Cacheanwendungen sollten normale Fehlerbehandlung und Wiederholungslogik verwenden, um ordnungsgemäß auf diese Bedingung zu reagieren.

Da alle Schreibvorgänge für die primären und die sekundären Kopien erfolgen, erhöht Hochverfügbarkeit die Latenz und verringert den Durchsatz. Dies kann einen erheblichen Nachteil für Caches bedeuten, die von Hochverfügbarkeit profitieren.

Wichtig

Definitionsgemäß verdoppelt sich der erforderliche Arbeitsspeicher für jedes Element bei Verwendung der Hochverfügbarkeit. Berücksichtigen Sie diese Auswirkungen auf den Arbeitsspeicher bei der Kapazitätsplanung. Weitere Informationen finden Sie unter Überlegungen zur Kapazitätsplanung für Azure In-Role Cache.

So aktivieren Sie hohe Verfügbarkeit

  1. Doppelklicken Sie auf die Rolle, die In-Role Cache aktiviert ist.

  2. Stellen Sie auf der Registerkarte Konfiguration sicher, dass Instanzanzahl den Wert 4 oder einen höheren Wert aufweist.

  3. Aktivieren Sie auf der Registerkarte Caching das Kontrollkästchen Hochverfügbarkeit für den Cache, der Hochverfügbarkeit erfordert. Der folgende Screenshot zeigt, dass Hohe Verfügbarkeit für zwei der drei Caches aktiviert ist.

    Caching Backup Copies

Weitere Informationen

Konzepte

Rollencachefunktionen in Azure Cache