Asynchrones Lesepool-Objekt in Kubernetes erstellen

Um den Lesedurchsatz und die Verfügbarkeit Ihres Datenbankclusters zu erhöhen, können Sie eine asynchrone Lesepoolinstanz Ihrer Datenbankinstanz erstellen. Eine Lesepoolinstanz stellt einen schreibgeschützten Klon Ihrer Datenbankinstanz bereit, der den Datenzugriff auch dann ermöglicht, wenn Ihre Datenbankinstanz nicht verfügbar ist.

Sie können die Instanzkonfiguration des Lesepools in der Manifestdatei der Datenbankinstanz definieren. Für jede Instanz des Lesepools muss eine eindeutige Manifestdatei erstellt werden. Sie können bis zu 20 Lesepoolinstanzen erstellen.

Jede Lesepoolinstanz belegt dieselbe Menge an Speicherplatz wie die Instanz, die sie repliziert.

Asynchrone Lesepoolinstanz erstellen

So erstellen Sie eine asynchrone Lesepoolinstanz von AlloyDB Omni:

  1. Erstellen Sie das Manifest der Datenbankinstanz, um den Typ der Lesepoolinstanz zu definieren:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBInstance
    metadata:
      name: READ_POOL_INSTANCE_NAME
      namespace: NAMESPACE
    spec:
      instanceType: ReadPool
      dbcParent:
        name: DB_CLUSTER_NAME
    

    Ersetzen Sie Folgendes:

    • READ_POOL_INSTANCE_NAME: ein Name für diese Ressource, z. B. read-pool-instance-1.

    • NAMESPACE: den Namespace des Datenbankclusters.

    • DB_CLUSTER_NAME: der Name des Datenbankclusters, zu dem die Instanz gehört.

  2. Wenden Sie das Manifest an.

Instanzstatus prüfen

Mit folgendem Befehl können Sie die Verfügbarkeit der Instanz des Lesepools prüfen:

  kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Available")].status}'

Die Antwort true gibt an, dass die Lesepoolinstanz Abfragen bedienen kann, aber möglicherweise keine Daten aus Ihrer Datenbankinstanz repliziert.

Führen Sie den folgenden Befehl aus, um den Streamingstatus der Instanz des Lesepools zu prüfen:

  kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Streaming")].status}'

Die Antwort true gibt an, dass die Instanz des Lesepools mit Ihrer Datenbankinstanz verbunden ist und Änderungen aktiv streamt.

Wenn Ihre Datenbankinstanz nicht erreichbar ist, werden die Abfragen weiterhin von der Lesepoolinstanz ausgeführt. In diesem Fall ist der Verfügbarkeitsstatus true und der Streamingstatus false.

Nachdem Sie die Lesepoolinstanz eingerichtet haben, sind alle Einfügungen, Aktualisierungen und Löschungen von Zeilen in Ihrer Instanz in der Lesepoolinstanz lesbar.