Freigeben über


Virtuelle Endpunkte für Lesereplikate in Azure Database for PostgreSQL – Flexibler Server

GILT FÜR: Azure Database for PostgreSQL – Flexibler Server

Virtuelle Endpunkte sind Listener-Endpunkte mit Lese- und Schreibzugriff, die unabhängig von der aktuellen Rolle der flexiblen Serverinstanz von Azure Database for PostgreSQL konsistent bleiben. Dies bedeutet, dass Sie die Verbindungszeichenfolge Ihrer Anwendung nicht aktualisieren müssen, nachdem sie die Aktion Höherstufen auf primären Server durchgeführt haben, da die Endpunkte nach einer Rollenänderung automatisch auf die richtige Instanz verweisen.

Alle Vorgänge, die virtuelle Endpunkte betreffen, unabhängig davon, ob sie hinzufügen, bearbeiten oder entfernen, werden im Kontext des primären Servers ausgeführt. Im Azure-Portal verwalten Sie diese Endpunkte unter der Seite des primären Servers. Ebenso zielen Befehle und Aktionen bei Verwendung von Tools wie CLI, REST-API oder anderen Dienstprogrammen auf den primären Server für die Endpunktverwaltung ab.

Virtuelle Endpunkte bieten zwei verschiedene Arten von Verbindungspunkten:

Writer-Endpunkt (Lese-/Schreibzugriff): Dieser Endpunkt verweist immer auf den aktuellen primären Server. Es stellt sicher, dass Schreibvorgänge an den richtigen Server weitergeleitet werden, unabhängig von höher stufenden Vorgängen, die Benutzer auslösen. Dieser Endpunkt kann nicht so geändert werden, dass er auf ein Replikat verweist.

Schreibgeschützter Endpunkt: Dieser Endpunkt kann von Benutzern so konfiguriert werden, dass er entweder auf ein Lesereplikat oder den primären Server verweist. Er kann jedoch nur jeweils einen Server als Ziel festlegen. Lastenausgleich zwischen mehreren Servern wird nicht unterstützt. Sie können den Zielserver für diesen Endpunkt jederzeit anpassen, unabhängig davon, ob vor oder nach der Heraufstufung.

Hinweis

Sie können nur einen Writer und einen schreibgeschützten Endpunkt pro primärem und einem seiner Replikate erstellen.

Virtuelle Endpunkte und Höherstufen des Verhaltens

Im Falle einer Höherstufen-Aktion bleibt das Verhalten dieser Endpunkte vorhersehbar. Die folgenden Abschnitte erläutern, wie diese Endpunkte sowohl auf Szenarien Höherstufen auf primären Server als auch auf Höherstufen auf unabhängigen Server reagieren.

Virtueller Endpunkt Ursprüngliches Ziel Verhalten, wenn „Höherstufen auf primären Server“ ausgelöst wird Verhalten, wenn „Höherstufen auf unabhängigen Server“ ausgelöst wird
Writer-Endpunkt Primär Verweist auf den neuen primären Server. Bleibt unverändert
Schreibgeschützter Endpunkt Replikat Verweist auf das neue Replikat (ehemalige primäres Replikat). Verweist auf den primären Server.
Schreibgeschützter Endpunkt Primär Wird nicht unterstützt. Bleibt unverändert

Verhalten, wenn „Höherstufen auf primären Server“ ausgelöst wird

  • Writer-Endpunkt: Dieser Endpunkt wird aktualisiert, um auf den neuen primären Server zu verweisen, der den Rollenwechsel widerspiegelt.
  • Schreibgeschützter Endpunkt
    • Wenn der schreibgeschützte Endpunkt auf Replikat verweist: Nach der Höherstufen-Aktion verweist der schreibgeschützte Endpunkt auf das neue Replikat (das frühere primäre Replikat).
    • Wenn der schreibgeschützte Endpunkt auf Primär verweist: Damit die Höherstufung ordnungsgemäß funktioniert, muss der schreibgeschützte Endpunkt an den Server gerichtet werden, der höhergestuft werden soll. Das Verweisen auf das primäre Element wird in diesem Fall nicht unterstützt und muss so konfiguriert werden, dass es vor der Heraufstufung auf das Replikat verweist.

Verhalten, wenn „Höherstufen auf den unabhängigen Server und entfernen aus der Replikation“ ausgelöst wird

  • Writer-Endpunkt: Dieser Endpunkt bleibt unverändert. Der Datenverkehr wird weiterhin an den Server weiterleiten, der die primäre Rolle hält.
  • Schreibgeschützter Endpunkt
    • Wenn der schreibgeschützte Endpunkt auf Replikat verweist: Der schreibgeschützte Endpunkt wird vom höhergestuften Replikat umgeleitet, um auf den primären Server zu verweisen.
    • Wenn der schreibgeschützte Endpunkt auf Primär verweist: Der schreibgeschützte Endpunkt bleibt unverändert, und zeigt weiterhin auf denselben Server.

Verwenden virtueller Endpunkte für einen konsistenten Hostnamen während der Zeitpunktwiederherstellung (Point-in-Time Recovery, PITR) oder der Wiederherstellung von Snapshots

In diesem Abschnitt wird erläutert, wie Sie virtuelle Endpunkte in Azure Database for PostgreSQL – Flexibler Server verwenden, um während der Zeitpunktwiederherstellung (Point-in-Time Recovery, PITR) oder der Wiederherstellung von Snapshots einen konsistenten Hostnamen beizubehalten, um sicherzustellen, dass Verbindungszeichenfolgen der Anwendung unverändert bleiben. Führen Sie folgende Schritte aus:

  1. Hinzufügen des virtuellen Endpunkts zum primären Server:

    • Navigieren Sie im Azure-Portal zu Ihrer primären Serverinstanz.
    • Navigieren Sie zur Registerkarte Replikation und klicken Sie unter Virtuelle Endpunkte auf Virtuellen Endpunkt hinzufügen.
    • Konfigurieren Sie den virtuellen Endpunkt mit einem konsistenten Hostnamen (z. B. mydb-virtual-endpoint.postgres.database.azure.com).
    • Speichern Sie die Konfiguration.
    • Aktualisieren Sie Ihre Anwendung so, dass dieser virtuelle Endpunkt in der Verbindungszeichenfolge verwendet wird.
  2. Zeitpunktwiederherstellung (Point-in-Time-Restore, PITR) oder Wiederherstellung des Snapshots ausführen:

    • Wiederherstellung initiieren:
      • Wechseln Sie zum Abschnitt Sicherungen Ihres primären Servers.
      • Wählen Sie die entsprechende Wiederherstellungsoption (PITR oder snapshot) aus und geben Sie den gewünschten Zeitpunkt an.
    • Aktualisieren virtueller Endpunkte:
      • Nachdem die neue Instanz erstellt wurde, navigieren Sie im alten primären Server zur Registerkarte Replikation.
      • Entfernen Sie den virtuellen Endpunkt vom ursprünglichen primären Server. Der alte primäre Server sollte sich im Zustand succeeded befinden, um den virtuellen Endpunkt zu entfernen
      • Fügen Sie dem neu erstellten Server denselben virtuellen Endpunkt hinzu.
  3. Validierung:

    • Stellen Sie sicher, dass Ihre Anwendung eine Verbindung mit dem virtuellen Endpunkt herstellt und überprüfen Sie die Datenbankvorgänge nach der Wiederherstellung.