Membuat replika hanya baca

Pilih versi dokumentasi:

Untuk meningkatkan throughput dan ketersediaan baca, Anda dapat membuat server replika AlloyDB Omni untuk server AlloyDB Omni yang sudah ada. Server replika menyediakan clone hanya baca dari server database utama Anda. Server ini terus memperbarui datanya sendiri untuk mencerminkan perubahan pada data server utama Anda.

Bagian berikut memberikan langkah-langkah untuk mengonfigurasi server utama AlloyDB Omni untuk replikasi, mengonfigurasi server replika, dan memverifikasi status replikasi di server utama.

Sebelum memulai

Sebelum melanjutkan, instal dan siapkan AlloyDB Omni menggunakan paket RPM. Untuk mengetahui informasi selengkapnya, lihat Menginstal AlloyDB Omni untuk Linux.

Mengonfigurasi server utama untuk replikasi

  1. Perbarui setelan jaringan atau firewall host server utama Anda sehingga mengizinkan traffic ingress dari host server replika melalui port Postgres server utama.

  2. Buat pengguna replikasi:

    psql -h localhost -U postgres -c "create user REPLICA_USER with replication password 'PASSWORD';
    grant pg_read_all_settings to REPLICA_USER;"
  3. Tambahkan baris berikut dalam file /DATA_DIR/pg_hba.conf server utama sebelum host all all all scram-sha-256 yang ada dalam file:

    host alloydbmetadata    alloydbmetadata   IP_RANGE trust
    host replication        REPLICA_USER    IP_RANGE scram-sha-256
    

    Ganti kode berikut:

    • IP_RANGE: rentang IP, dalam notasi CIDR, dari subnet tempat mesin replika Anda berada. Contoh, 203.0.113.0/24.
    • DATA_DIR: jalur direktori data server utama.
  4. Mulai ulang server utama Anda:

    sudo systemctl restart alloydbomniPG_VERSION

Membuat dan mengonfigurasi server replika

Untuk membuat dan mengonfigurasi server replika AlloyDB Omni, selesaikan langkah-langkah berikut:

  1. Pastikan replika memiliki konektivitas jaringan ke server utama:

    ping SOURCE_IP

    Ganti SOURCE_IP dengan alamat IP instance AlloyDB Omni utama yang akan direplikasi.

  2. Pastikan replika dapat terhubung ke server utama:

    psql "host=SOURCE_IP user=REPLICA_USER replication=1" -c "IDENTIFY_SYSTEM;"

    Output-nya akan terlihat seperti berikut:

           systemid       | timeline |  xlogpos  | dbname
     ---------------------+----------+-----------+--------
      7376500460465963036 |        1 | 0/454B670 |
      (1 row)
    
  3. Replika harus memiliki lokasi penyimpanan persisten di disk:

    pg_basebackup \
      --pgdata=DATA_DIR \
      --checkpoint=fast \
      --host="SOURCE_IP" \
      --port="SOURCE_PORT" \
      --username=REPLICA_USER \
      --create-slot \
      --write-recovery-conf \
      --slot="SLOT_NAME"

    Ganti kode berikut:

    • SOURCE_PORT: port TCP instance AlloyDB Omni utama yang akan direplikasi. Jika Anda tidak memberikan nilai ini, AlloyDB Omni akan menerapkan nilai default 5432.
    • SLOT_NAME: label untuk nama slot replikasi.
    • DATA_DIR: jalur direktori data untuk server replika.
  4. Mulai instance replika Anda:

    sudo systemctl start alloydbomniPG_VERSION

Memverifikasi status replikasi di server utama

Untuk memverifikasi bahwa replikasi dikonfigurasi dengan benar, jalankan perintah berikut di host server primer:

psql -h localhost -U postgres -c "select * from pg_stat_replication"

Tabel output berisi satu baris untuk setiap replika yang terhubung ke server database utama Anda.

Setelah Anda menyiapkan replikasi, semua penyisipan, pembaruan, dan penghapusan baris di server database utama Anda akan dapat dibaca di replika Anda dalam hitungan detik.