Memantau Kesihatan Replikasi
Pelajari cara memantau status dan kesihatan persediaan replikasi anda dengan berkesan untuk mengenal pasti serta menyelesaikan masalah secara proaktif.
Memantau Kesihatan Replikasi ialah pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi merangkumi sejumlah 4 pelajaran.
Mengapa Memantau Replikasi?
Replikasi PostgreSQL penting untuk ketersediaan tinggi dan kebolehskalaan bacaan. Tetapi bagaimanakah anda tahu sama ada replikasi berfungsi dengan betul?
Memantau kesihatan replikasi amat penting bagi memastikan pelayan siaga anda dikemas kini dan bersedia mengambil alih jika pelayan utama gagal. Tanpa pemantauan ini, anda mungkin hanya menyedari masalah apabila sudah terlambat!
Metrik Replikasi Utama
Semasa memantau replikasi, anda perlu memerhatikan beberapa metrik utama:
- Status Replikasi: Adakah pelayan siaga bersambung dan sedang menerima data?
- Kelewatan Replikasi: Sejauh manakah pelayan siaga ketinggalan berbanding pelayan utama?
- Aktiviti WAL: Adakah fail Write-Ahead Log (WAL) dipindahkan dan digunakan dengan betul?
Paparan `pg_stat_replication`
PostgreSQL menyediakan paparan sistem berkuasa yang dipanggil pg_stat_replication. Paparan ini menawarkan maklumat terperinci tentang setiap pelayan siaga aktif yang bersambung kepada pelayan utama anda.
Inilah sumber utama anda untuk mendapatkan status dan kemajuan replikasi masa nyata.
`pg_stat_replication` Secara Langsung
Mari lihat maklumat yang disediakan oleh pg_stat_replication. Jalankan pertanyaan ini pada pelayan utama anda:
SELECT
client_addr,
state,
sync_state,
sync_priority
FROM pg_stat_replication;Memahami `state` & `sync_state`
Lajur state dan sync_state amat penting:
state: Menunjukkan aktiviti semasa pelayan siaga (contohnya,streaming,catching up,backup).streamingbermaksud pelayan siaga sedang menerima rekod WAL secara aktif.sync_state: Menunjukkan sama ada pelayan siaga adalahasync(tak segerak) atausync(segerak). Pelayan siaga segerak menjamin ketahanan data merentas beberapa pelayan.
Memahami Kelewatan Replikasi
Kelewatan replikasi ialah tempoh antara masa transaksi dilakukan pada pelayan utama dan masa transaksi tersebut digunakan pada pelayan siaga.
Kelewatan yang tinggi bermaksud pelayan siaga anda tidak dikemas kini. Dalam senario ambil alih, keadaan ini boleh menyebabkan kehilangan data. Kami mahu kelewatan serendah mungkin, sebaik-baiknya sifar.
Mengira Kelewatan Replikasi
Anda boleh mengira kelewatan replikasi dalam bait menggunakan pg_wal_lsn_diff(). Fungsi ini mengukur perbezaan antara dua Nombor Urutan Log (LSN).
Cara lazim untuk melihat kelewatan adalah dengan membandingkan LSN semasa pelayan utama dengan replay_lsn pelayan siaga daripada pg_stat_replication.
SELECT
client_addr,
pg_wal_lsn_diff(pg_current_wal_lsn(), replay_lsn) AS lag_bytes
FROM pg_stat_replication;Status Pemulihan Pelayan Siaga
Bagaimana pula dengan menyemak pelayan siaga itu sendiri? Anda boleh menggunakan fungsi pg_is_in_recovery() untuk mengesahkan sama ada pelayan sedang bertindak sebagai pelayan siaga dan menggunakan rekod WAL.
Fungsi ini mengembalikan true jika pelayan berada dalam mod pemulihan (iaitu, pelayan siaga) dan false jika pelayan tersebut ialah pelayan utama.
SELECT pg_is_in_recovery();Kemajuan WAL & LSN
Selain kelewatan biasa, anda boleh menjejak kemajuan penggunaan WAL dengan lebih terperinci. Fungsi pg_wal_lsn_diff() juga berguna untuk membandingkan mana-mana dua LSN.
Contohnya, anda boleh membandingkan write_lsn, flush_lsn dan replay_lsn daripada pg_stat_replication untuk menentukan lokasi berlakunya kelewatan (menulis ke cakera, melakukan flush atau memainkan semula).
Semakan Pantas: Status Replikasi
Anda menjalankan SELECT client_addr, state, sync_state FROM pg_stat_replication; pada pelayan utama dan melihat output berikut untuk satu pelayan siap sedia:
client_addr | state | sync_state
------------+----------+-----------
192.168.1.5 | streaming | asyncAntara pernyataan berikut, yang manakah benar tentang pelayan siap sedia ini?
Imbas Kembali & Langkah Seterusnya
Anda telah mempelajari cara memantau kesihatan replikasi PostgreSQL! Kita telah meneroka:
- Sebab kelewatan dan status perlu dipantau dengan teliti.
- Menggunakan paparan
pg_stat_replicationpada pelayan utama. - Mentafsir
statedansync_state. - Mengira kelewatan replikasi dengan
pg_wal_lsn_diff(). - Memeriksa status pemulihan pelayan siap sedia dengan
pg_is_in_recovery().
Memeriksa metrik ini secara berkala membantu memastikan persediaan ketersediaan tinggi anda kukuh dan boleh dipercayai!
Pelajari PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 11
- Pelajaran
- 44
Soalan Lazim
Adakah pelajaran “Memantau Kesihatan Replikasi” percuma?
Ya — teks penuh “Memantau Kesihatan Replikasi” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi, tingkat taraf kepada CoddyKit PRO. Kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Memantau Kesihatan Replikasi”?
Pelajari cara memantau status dan kesihatan persediaan replikasi anda dengan berkesan untuk mengenal pasti serta menyelesaikan masalah secara proaktif. Anda berlatih PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi?
Tiada pengalaman terdahulu diperlukan. Pembelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Memantau Kesihatan Replikasi” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi ini?
Ya. Setiap pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Alat Pengambilalihan Automatik (Patroni)
- Memantau Kesihatan Replikasi
- Strategi Pemulihan Bencana
- Penghalaan Sambungan dengan PgBouncer dan HAProxy