Beschreiben von Hochverfügbarkeits- und Notfallwiederherstellungsoptionen für PaaS-Bereitstellungen
Unter dem Aspekt der Verfügbarkeit unterscheidet sich PaaS. Sie können nur die Optionen konfigurieren, die Azure bereitstellt.
Für die SQL Server-basierten Optionen von Azure SQL-Datenbank und verwaltete Azure SQL-Datenbank-Instanz sind die Optionen aktive Georeplikation (nur Azure SQL-Datenbank) und Autofailover-Gruppen (Azure SQL-Datenbank oder verwaltete Azure SQL-Datenbank-Instanz).
Azure Database for MySQL verfügt über eine Vereinbarung zum Servicelevel, die eine Verfügbarkeit von 99,99 % garantiert, d. h. es sollte fast keine Ausfallzeiten geben. Wenn bei Azure Database for MySQL ein Problem auf Knotenebene auftritt, z. B. ein Hardwareausfall, greift ein integrierter Failover-Mechanismus. Alle transaktionalen Änderungen an der MySQL-Datenbank werden beim Commit synchron in den Speicher geschrieben. Tritt eine Unterbrechung auf Knotenebene auf, erstellt der Datenbankserver automatisch einen neuen Knoten und fügt den Datenspeicher an.
Aus Sicht der Anwendung müssen Sie die erforderliche Wiederholungslogik programmieren, da alle Verbindungen als Teil des Hochfahrens des neuen Knotens unterbrochen werden und alle laufenden Transaktionen verloren gehen. Dieser Prozess gilt als bewährte Methode für jede Cloudanwendung, da sie für den Umgang mit vorübergehenden Ausfällen ausgelegt sein sollten.
Azure Database for PostgreSQL verwendet ein ähnliches Modell wie MySQL in seinem Standardbereitstellungsmodell. Allerdings bietet Azure PostgreSQL auch eine Hyperscale-Lösung mit horizontaler Skalierung namens Citus. Citus bietet sowohl horizontale Skalierung als auch zusätzliche Hochverfügbarkeit für eine Servergruppe. Wenn dies aktiviert ist, wird für jeden Knoten einer Servergruppe ein Standbyreplikat konfiguriert, was auch die Kosten erhöhen würde, da sich dadurch die Anzahl der Server in der Gruppe verdoppelt. Für den Fall, dass der ursprüngliche Knoten ein Problem hat, z. B. nicht mehr reagiert oder komplett ausfällt, nimmt der Standbyknoten seinen Platz ein. Die Daten werden mittels synchroner PostgreSQL-Streamingreplikation synchron gehalten.
Wie bei Azure Database for MySQL müssen auch Lösungen, die Azure Database for PostgreSQL verwenden, aufgrund von Verbindungsabbrüchen und dem Verlust laufender Transaktionen eine Wiederholungslogik in die Anwendung integrieren.
Sowohl Azure Database for MySQL als auch PostgreSQL unterstützen die Option für ein Lesereplikat. Das bedeutet, dass ein Replikat für Aktivitäten wie die Berichterstellung verwendet werden kann, um die primäre Datenbank von Arbeit zu entlasten. Ein Lesereplikat erhöht außerdem die Verfügbarkeit, da es sich in einer anderen Region befindet.