0Pricing
SQL Academy · Pelajaran

Failover dan Pemilihan Pemimpin (Patroni, Stolon)

Gunakan Patroni atau Stolon untuk failover otomatis, dan konfigurasikan kuorum agar terhindar dari split-brain

Failover dan Pemilihan Pemimpin (Patroni, Stolon) adalah pelajaran SQL Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar SQL Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus SQL Academy mencakup 4 pelajaran total.

Mengapa Pengalihan Otomatis?

Pengalihan manual lambat dan rentan terhadap kesalahan. Alat dapat mendeteksi kegagalan primer dan mempromosikan replika tanpa campur tangan manusia.

Langkah-Langkah Pengalihan

Hal-hal yang perlu terjadi:

  1. Mendeteksi bahwa primer tidak aktif (pemeriksaan kesehatan, konsensus)
  2. Memilih replika dengan WAL terbaru
  3. Mempromosikannya (pg_promote / pg_ctl promote)
  4. Mengonfigurasi ulang replika lain agar mengikuti primer baru
  5. Memperbarui perutean koneksi aplikasi

Risiko Otak Terbelah

Jika jaringan terpartisi, Anda mungkin mempromosikan replika sementara primer lama masih aktif. Dua primer → penulisan yang bertentangan → kerusakan data. Hindari hal ini dengan kuorum.

Patroni

Daemon berbasis Python yang menggunakan DCS eksternal (Penyimpanan Konfigurasi Terdistribusi)—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/data

Cara Patroni Memilih Pemimpin Baru

Daemon Patroni di setiap node berlomba mendapatkan kunci pemimpin di etcd. Hanya satu yang dapat memegangnya; node tersebut menjadi primer. Node lainnya mengikutinya.

Stolon

Alternatif berbasis Go. Menggunakan model konsensus serupa, tetapi dengan karakteristik operasional yang berbeda. Tanggung jawab dibagi antara komponen sentinel, keeper, dan proxy.

repmgr

Alat yang lebih ringan dari 2ndQuadrant—lebih sedikit otomatisasi dan lebih banyak kendali manual. Cocok untuk penyiapan yang lebih kecil.

Pengalihan Otomatis yang Dikelola Cloud

RDS, Cloud SQL, dan Aurora menangani pengalihan otomatis untuk Anda. Anda menukar fleksibilitas dengan kesederhanaan operasional.

Perutean Koneksi Setelah Pengalihan

Aplikasi perlu mengetahui primer baru. Pilihannya:

  • Pembaruan DNS (lambat karena TTL)
  • IP mengambang yang dikelola oleh alat pengalihan otomatis
  • Lapisan proxy: HAProxy, pgbouncer + skrip, endpoint AWS RDS

Replikasi Sinkron dan Pengalihan Otomatis

Standby sinkron = jaminan tidak ada kehilangan data. Padukan dengan pengalihan otomatis untuk HA yang paling kuat.

Kuorum

Untuk replikasi sinkron, tetapkan synchronous_standby_names dengan kuorum: ANY 2 dari 3 replika harus mengonfirmasi. Ini menoleransi satu replika yang lambat atau gagal tanpa menghambat commit.

synchronous_standby_names = 'ANY 2 (replica1, replica2, replica3)'

Membaca Setelah Menulis

Setelah pengalihan otomatis atau ketika terjadi keterlambatan replikasi, aplikasi mungkin menulis ke primer baru lalu segera membaca data usang dari replika. Arahkan pembacaan setelah penulisan ke primer atau gunakan pelacakan pg_last_wal_replay_lsn.

Menguji Pengalihan Otomatis

Lakukan pengujian sebelum Anda membutuhkannya. Matikan primer di lingkungan staging setiap bulan. Latih prosedur operasionalnya. Tekanan saat pengalihan nyata sudah cukup berat; kejutan akan membuatnya lebih buruk.

Rangkuman

Pengalihan otomatis mengeluarkan manusia dari jalur kritis.

  • Patroni / Stolon untuk pengelolaan mandiri
  • RDS / Cloud SQL untuk layanan terkelola
  • Waspadai otak terbelah—gunakan kuorum
  • Latih pengalihan otomatis secara berkala

Pemeriksaan Singkat

Apa yang dimaksud dengan "otak terbelah" dalam konteks replikasi PostgreSQL?

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Failover dan Pemilihan Pemimpin (Patroni, Stolon)” gratis?

Ya — teks lengkap “Failover dan Pemilihan Pemimpin (Patroni, Stolon)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus SQL Academy, upgrade ke CoddyKit PRO. Kursus SQL Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Failover dan Pemilihan Pemimpin (Patroni, Stolon)”?

Gunakan Patroni atau Stolon untuk failover otomatis, dan konfigurasikan kuorum agar terhindar dari split-brain Kamu berlatih SQL Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai SQL Academy?

Tidak diperlukan pengalaman sebelumnya. SQL Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Failover dan Pemilihan Pemimpin (Patroni, Stolon)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran SQL Academy ini?

Ya. Setiap pelajaran SQL Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Replikasi Streaming dan WAL
  2. Replikasi Logis untuk Sharding
  3. Failover dan Pemilihan Pemimpin (Patroni, Stolon)
  4. Replika Baca dan Pengarahan Koneksi
← Kembali ke SQL Academy