SQL Academy · Ders

Yük Devretme ve Lider Seçimi (Patroni, Stolon)

Otomatik yük devretme için Patroni veya Stolon kullanın ve beyin bölünmesini önlemek üzere yeter sayı yapılandırın.

3. ders / 415 adım

Yük Devretme ve Lider Seçimi (Patroni, Stolon), CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.

Otomatik Yük Devretme Neden Gerekli?

Elle yük devretme yavaştır ve hataya açıktır. Araçlar birincil sunucu arızasını algılar ve insan müdahalesi olmadan bir replikayı yükseltir.

Yük Devretme Adımları

Gerçekleşmesi gerekenler:

  1. Birincil sunucunun kapandığını algılayın (sağlık denetimleri, uzlaşma)
  2. En güncel WAL'a sahip replikayı seçin
  3. Onu yükseltin (pg_promote / pg_ctl promote)
  4. Diğer replikaları yeni birincil sunucuyu izleyecek şekilde yeniden yapılandırın
  5. Uygulama bağlantılarının yönlendirmesini güncelleyin

Bölünmüş Beyin Riski

Ağ bölünürse eski birincil sunucu hâlâ çalışırken bir replikayı yükseltebilirsiniz. İki birincil sunucu → çakışan yazma işlemleri → veri bozulması. Yeter sayı kullanarak bundan kaçının.

Patroni

Lider seçimi için harici bir DCS (Dağıtık Yapılandırma Deposu) kullanan Python arka plan hizmetidir; genellikle etcd, Consul veya Zookeeper kullanır:

# 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

Patroni Yeni Lideri Nasıl Seçer?

Her düğümün Patroni arka plan hizmeti etcd'de lider kilidini edinmek için yarışır. Kilidi yalnızca biri tutabilir; o düğüm birincil sunucu olur. Diğerleri onu izler.

Stolon

Go tabanlı bir alternatiftir. Benzer bir uzlaşma modeli kullanır ancak işletim özellikleri farklıdır. Sorumlulukları sentinel, keeper ve proxy bileşenleri arasında böler.

repmgr

2ndQuadrant tarafından sunulan daha hafif bir araçtır; otomasyonu daha az, elle denetimi daha fazladır. Daha küçük kurulumlar için uygundur.

Bulut Yönetimli Yük Devretme

RDS, Cloud SQL ve Aurora yük devretme işlemini sizin için yönetir. İşletim kolaylığı karşılığında esneklikten ödün verirsiniz.

Yük Devretme Sonrası Bağlantı Yönlendirmesi

Uygulamaların yeni birincil sunucuyu bilmesi gerekir. Seçenekler:

  • DNS güncellemesi (TTL nedeniyle yavaştır)
  • Yük devretme aracı tarafından yönetilen yüzer IP
  • Vekil katmanı: HAProxy, betikli pgbouncer + betik, AWS RDS uç noktası

Senkron Replikasyon ve Yük Devretme

Senkron bekleme sunucusu = sıfır veri kaybı garantisi. En güçlü HA için bunu otomatik yük devretmeyle birleştirin.

Yeter Sayı

Senkron replikasyon için synchronous_standby_names ayarını yeter sayıyla yapılandırın: 3 replikadan ANY 2 tanesi onaylamalıdır. Bu, işlemlerin onaylanmasını engellemeden bir yavaş veya arızalı replikaya tolerans gösterir.

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

Yazdıklarınızı Okuma

Yük devretmeden sonra veya replikasyon gecikmesi varken uygulama yeni birincil sunucuya yazıp hemen ardından replikadan güncel olmayan verileri okuyabilir. Okuma işlemlerini yazma sonrasındakilerle birlikte birincil sunucuya yönlendirin veya pg_last_wal_replay_lsn takibini kullanın.

Yük Devretmeyi Sınama

İhtiyaç duymadan önce sınayın. Hazırlık ortamında birincil sunucuyu her ay durdurun. İşletim kılavuzunu uygulayın. Gerçek yük devretme stresi yeterince zordur; sürprizler durumu daha da kötüleştirir.

Özet

Otomatik yük devretme, insanları kritik işlem yolundan çıkarır.

  • Kendi yönettiğiniz sistemler için Patroni / Stolon
  • Yönetilen sistemler için RDS / Cloud SQL
  • Bölünmüş beyin durumuna dikkat edin; yeter sayı kullanın
  • Yük devretmeyi düzenli olarak uygulayın

Hızlı Kontrol

PostgreSQL replikasyonu bağlamında "bölünmüş beyin" nedir?

Başlamak ücretsiz

Yapay zeka eğitmeniyle SQL öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
46
Dersler
183

Sıkça Sorulan Sorular

“Yük Devretme ve Lider Seçimi (Patroni, Stolon)” dersi ücretsiz mi?

Evet — “Yük Devretme ve Lider Seçimi (Patroni, Stolon)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.

“Yük Devretme ve Lider Seçimi (Patroni, Stolon)” dersinde ne öğreneceğim?

Otomatik yük devretme için Patroni veya Stolon kullanın ve beyin bölünmesini önlemek üzere yeter sayı yapılandırın. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

SQL Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Yük Devretme ve Lider Seçimi (Patroni, Stolon)” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Akış Kopyalama ve WAL
  2. Parçalama için Mantıksal Kopyalama
  3. Yük Devretme ve Lider Seçimi (Patroni, Stolon)
  4. Okuma Kopyaları ve Bağlantı Yönlendirme
← SQL Academy Sayfasına Dön