Patroni

Postgresql replikasyon, failover ve switchover işlemlerini yönetmeye yarayan açık
kaynak ve ticari yazılımlar ve şablonlar (template) geliştirilmiştir. Bunlardan belli
başlıları repmgr, EPRS, PAF ve Patroni’dir.
Canlı ortamlarda en çok kullanılan açık kaynak çözümlerden biri olan patroni aslında bir
şablondur (template). Patroni, otomatik failover özelliğini gerçekleştirilebilen en stabil
çözümlerden biridir diyebiliriz. Pgbackrest ile uyumlu olması diğer bir tercih nedenidir.

Postgresql cluster (YE/HA) : Bir primary ve bir adet veya daha fazla
standby sunucudan oluşur.
Burada cluster birbirinin yedeği olan sunuculardan oluşan küme anlamında
kullanılmıştır.

ETCD : Dağıtık yapıların sağlık durumlarının, konfigurasyonlarının ve mevcut
statülerinin saklandığı bir çeşit tutarlı veritabanıdır. Hafızaya (memory) sığabilecek
küçük parçalı verileri tutar. Primary ve standby sunucular arasında koordinasyon
hizmeti verir. Primary sunucuya erişilemezse hangi sunucunun yeni primary olacağına
karar verir.
En az üç adet olmalıdır.

Canlı ortamlarda mümkünse IOPS kapasitesi yüksek SSD tarzı diskler tercih edilmelidir.
Sanal makine ise, farklı ESX/Proxmox hostlarda çalışmalıdır.

benchmark --endpoints=etcd1:2379,etcd2:2379,etcd3:2379 --conns=1
--clients=1 range 1anahtar --consistency=l --total=10

ile benchmark testi yapılabilir.

Postgresql veritabanı sunucuları üzerinde çalışan patroni servisleri veritabanının sağlık
durum bilgilerini etcd’ye yazar.
Patroni, periyodik olarak, postgresql instance’larınının durumlarını etcd’ye gönderir.
etcd de bunları kayıt eder ve patroniye geri bildirimde bulunur. Tutarlı ve periyodik veri
alışverişi veritabanlarının stabil çalıştığının göstergesidir.
ETCD’lerde toplanan bu veriler ile patroni, hangi veritabanı sunucusunun primary
olduğunu, hangi standby sunucunun en güncel olduğunu bilir ve cluster ortamının
sürekli erişilebilir olması için çalışır.

Kategori seçin...