Pengambilalihan dan Pemilihan Ketua (Patroni, Stolon)
Gunakan Patroni atau Stolon untuk pengambilalihan automatik, dan konfigurasikan kuorum bagi mengelakkan pecah otak.
Pengambilalihan dan Pemilihan Ketua (Patroni, Stolon) ialah pelajaran SQL Academy percuma di CoddyKit. Ini ialah pelajaran 3 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 SQL Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus SQL Academy merangkumi sejumlah 4 pelajaran.
Mengapa Peralihan Automatik Selepas Kegagalan?
Peralihan manual selepas kegagalan adalah perlahan dan mudah menyebabkan ralat. Alat mengesan kegagalan pelayan utama dan mengambil alih dengan replika tanpa campur tangan manusia.
Langkah Peralihan Selepas Kegagalan
Perkara yang perlu berlaku:
- Kesan bahawa pelayan utama tidak aktif (semakan kesihatan, konsensus)
- Pilih replika dengan WAL paling terkini
- Ambil alih dengannya (pg_promote / pg_ctl promote)
- Konfigurasikan semula replika lain untuk mengikuti pelayan utama baharu
- Kemas kini penghalaan sambungan aplikasi
Risiko Otak Terpisah
Jika rangkaian terbahagi, anda mungkin mengambil alih dengan replika sementara pelayan utama lama masih hidup. Dua pelayan utama → tulisan bercanggah → kerosakan data. Elakkan dengan kuorum.
Patroni
Daemon Python yang menggunakan DCS luaran (Storan Konfigurasi Teragih) — biasanya etcd, Consul atau Zookeeper — untuk pemilihan pemimpin:
# patroni.yml
name: pg1
scope: my_cluster
etcd:
hosts: 10.0.0.10:2379,10.0.0.11:2379,10.0.0.12:2379
postgresql:
data_dir: /var/lib/postgresql/dataCara Patroni Memilih Pemimpin Baharu
Daemon Patroni setiap nod berlumba-lumba untuk memperoleh kunci pemimpin dalam etcd. Hanya satu yang boleh memegangnya; nod itu menjadi pelayan utama. Nod lain mengikutinya.
Stolon
Alternatif berasaskan Go. Menggunakan model konsensus yang serupa tetapi dengan ciri operasi yang berbeza. Membahagikan tanggungjawab antara komponen sentinel, keeper dan proksi.
repmgr
Alat yang lebih ringan daripada 2ndQuadrant — kurang automasi, lebih banyak kawalan manual. Sesuai untuk persediaan yang lebih kecil.
Peralihan Automatik Selepas Kegagalan Terurus Awan
RDS, Cloud SQL dan Aurora menguruskan peralihan selepas kegagalan untuk anda. Anda menukar fleksibiliti dengan kesederhanaan operasi.
Penghalaan Sambungan Selepas Peralihan
Aplikasi perlu mengetahui pelayan utama baharu. Pilihannya:
- Kemas kini DNS (perlahan kerana TTL)
- IP terapung yang diuruskan oleh alat peralihan selepas kegagalan
- Lapisan proksi: HAProxy, pgbouncer + skrip, titik akhir AWS RDS
Replikasi Segerak dan Peralihan Selepas Kegagalan
Pelayan siap sedia segerak = tiada kehilangan data yang dijamin. Gabungkan dengan peralihan automatik selepas kegagalan untuk HA yang paling kukuh.
Kuorum
Untuk replikasi segerak, tetapkan synchronous_standby_names dengan kuorum: ANY 2 daripada 3 replika mesti mengesahkan. Ini membolehkan satu replika yang perlahan atau gagal ditoleransi tanpa menyekat COMMIT.
synchronous_standby_names = 'ANY 2 (replica1, replica2, replica3)'Baca Selepas Tulis
Selepas peralihan selepas kegagalan atau apabila terdapat ketinggalan replikasi, aplikasi mungkin menulis kepada pelayan utama baharu dan serta-merta membaca data lapuk daripada replika. Halakan bacaan selepas tulisan kepada pelayan utama atau gunakan penjejakan pg_last_wal_replay_lsn.
Menguji Peralihan Selepas Kegagalan
Uji sebelum anda memerlukannya. Matikan pelayan utama dalam persekitaran pementasan setiap bulan. Latih panduan operasi. Tekanan peralihan sebenar selepas kegagalan sudah cukup buruk; kejutan menjadikannya lebih buruk.
Ringkasan
Peralihan automatik selepas kegagalan mengeluarkan manusia daripada laluan kritikal.
- Patroni / Stolon untuk pengurusan sendiri
- RDS / Cloud SQL untuk pengurusan terurus
- Berwaspada terhadap otak terpisah — gunakan kuorum
- Berlatih melakukan peralihan selepas kegagalan secara berkala
Semakan Pantas
Apakah maksud "otak terpisah" dalam konteks replikasi PostgreSQL?
Pelajari SQL 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
- 46
- Pelajaran
- 183
Soalan Lazim
Adakah pelajaran “Pengambilalihan dan Pemilihan Ketua (Patroni, Stolon)” percuma?
Ya — teks penuh “Pengambilalihan dan Pemilihan Ketua (Patroni, Stolon)” 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 SQL Academy, tingkat taraf kepada CoddyKit PRO. Kursus SQL Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Pengambilalihan dan Pemilihan Ketua (Patroni, Stolon)”?
Gunakan Patroni atau Stolon untuk pengambilalihan automatik, dan konfigurasikan kuorum bagi mengelakkan pecah otak. Anda berlatih SQL Academy 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 SQL Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran SQL Academy 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 3 daripada 4.
Berapa lamakah pelajaran “Pengambilalihan dan Pemilihan Ketua (Patroni, Stolon)” 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 SQL Academy ini?
Ya. Setiap pelajaran SQL Academy 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
- Replikasi Penstriman dan WAL
- Replikasi Logik untuk Pembahagian
- Pengambilalihan dan Pemilihan Ketua (Patroni, Stolon)
- Replika Bacaan dan Penghalaan Sambungan