Topik ini menjelaskan fitur failover slot replikasi logis dari PolarDB for PostgreSQL. Jika node utama gagal, fitur ini memastikan bahwa slot replikasi logis disinkronkan dari node utama ke node cadangan.
Prasyarat
Kluster PolarDB for PostgreSQL menjalankan PostgreSQL 11 (versi revisi 1.1.27 atau lebih baru).
Jalankan pernyataan SHOW polar_version untuk melihat versi revisi kluster Anda. Tingkatkan versi revisi jika diperlukan.
Informasi latar belakang
Menurut protokol replikasi streaming PostgreSQL, slot replikasi logis pada node utama tidak disinkronkan ke node baca-saja yang berfungsi sebagai node cadangan. Dalam hal terjadi failover, slot replikasi logis hilang, dan akibatnya langganan logis terganggu. Untuk menyelesaikan masalah ini, PolarDB for PostgreSQL meningkatkan sistem dengan mendukung failover slot replikasi logis.
Failover slot replikasi fisik tidak didukung.
Untuk informasi lebih lanjut, lihat bagian Replication slots dari Konsep Decoding Logis PostgreSQL.
Aktifkan atau nonaktifkan fitur failover slot replikasi logis
Anda dapat mengaktifkan atau menonaktifkan fitur failover slot replikasi logis dengan mengonfigurasi parameter polar_failover_slot_mode. Konfigurasikan parameter di konsol. Nilai valid adalah sebagai berikut:
sync: mengaktifkan failover slot replikasi logis dan mengatur ke mode sinkron.
CatatanMode sinkron memastikan tidak ada data yang hilang dalam replikasi logis selama failover kluster.
Hal ini dimungkinkan dengan memastikan bahwa klien replikasi logis tidak menerima perubahan lebih awal daripada node cadangan. Namun, dalam kasus pemutusan jaringan yang lama dan penyambungan ulang atau pembangunan ulang node cadangan, jendela waktu menjadi cukup besar sehingga latensi sinkronisasi utama-cadangan relatif tinggi dan klien replikasi logis mungkin menerima perubahan lebih awal daripada node cadangan. Jika failover terjadi selama jendela waktu ini, data mungkin hilang dalam replikasi logis. Selain itu, data yang dihasilkan pada node utama baru juga mungkin hilang.
Untuk menghindari kehilangan data seperti itu, hubungi kami untuk mengatur parameter polar_priority_replication_force_wait ke on, sehingga ketika node cadangan terputus, node utama tidak mengirimkan perubahan ke klien replikasi logis sampai node cadangan tersambung kembali atau dibangun ulang. Namun, ini mengurangi ketersediaan replikasi logis. Lakukan dengan hati-hati.
async (default): mengaktifkan failover slot replikasi logis dan mengatur ke mode asinkron.
CatatanDalam mode asinkron, tidak ada data yang hilang dalam replikasi logis selama failover kluster HA. Namun, data duplikat mungkin dikirim ke klien replikasi logis. Jika klien memiliki data yang lebih baru daripada node utama baru setelah failover selesai, klien mungkin telah menyimpan data yang hilang, jika ada, selama failover.
Jika data yang tidak konsisten memengaruhi bisnis Anda, kami sarankan Anda menggunakan mode sinkron.
off: menonaktifkan failover slot replikasi logis.