DB Load Balancer - Çözüldü
-
Selamlar Postgresql için bir clusterim mevcut. Clusterda 1 master makina 2 adet replication slave makina var bu clusterin önüne load balancer almak istiyorum insert sorguları sadece mastera select sorguları ise master ve replication slave makinalar arasında en uygunu hangisi ise ona gidecek. Kurulu olan clusterimda insertleri sadece master işleyebiliyor zaten replication makinalardan sadece select çekebiliyoruz. Tek problem load balancer
Postgresql için pgpool ve bir kaç farklı şey var pgpoolu denedim ama bir türlü işin içinden çıkamadım öyle kaldı bizim DBA lar nerede ya bi el atsalar.
-
ille dba olmak şart değil bunu çözmek için :) bir proxy ile de işini görebilirsin.
piyasada HAproxy genelde loadbalancer için kullanılıyor.
belirli aralıklarla ping atıyor ve down olmayan servera gönderiyor ne varsa.
-
Haproxy kullanabilirsiniz bu is icin.
Gecenlerde bende Haproxy + Postgresql 10 clusteri kurdum.
Postgresql 10 ile yeni gelen logical replication ozelligini kullanarak cok basit bir sekilde daha performansli bi cluster olusturabilirsiniz ayrica. Bir goz atmakta fayda var.
-
HAProxy query split yapıyor mu acaba? Gelen insert sorgusunun slave makinaya gitmesini istemiyorum.
-
bunu uygulama içerisinde çözmeni öneririm
-
sandman bunu yazdı
bunu uygulama içerisinde çözmeni öneririm
Uygulama içerisinde derken ? Client tarafında mı yoksa server tarafında mı? Ne olarak araştırmam gerkeiyor hocam anahtar kelime ne?
-
x-t0xid bunu yazdısandman bunu yazdı
bunu uygulama içerisinde çözmeni öneririm
Uygulama içerisinde derken ? Client tarafında mı yoksa server tarafında mı? Ne olarak araştırmam gerkeiyor hocam anahtar kelime ne?
Kusura bakma mobilim ve bayada böyle kalacağımdan uzun uzun açıklayamıyorum.
genelde biz dnsde bir kaç kayıt oluşturuyoruz
mesela master için masterone ötekiler içinde readme1 ve readme2 diye.
uygulama bir sorgu çalıştırırken connection stringimi ona göre değiştiriyor veya masternodeun böyle özelliği varsa oradan dağıttırıyor
-
sandman bunu yazdıx-t0xid bunu yazdısandman bunu yazdı
bunu uygulama içerisinde çözmeni öneririm
Uygulama içerisinde derken ? Client tarafında mı yoksa server tarafında mı? Ne olarak araştırmam gerkeiyor hocam anahtar kelime ne?
Kusura bakma mobilim ve bayada böyle kalacağımdan uzun uzun açıklayamıyorum.
genelde biz dnsde bir kaç kayıt oluşturuyoruz
mesela master için masterone ötekiler içinde readme1 ve readme2 diye.
uygulama bir sorgu çalıştırırken connection stringimi ona göre değiştiriyor veya masternodeun böyle özelliği varsa oradan dağıttırıyor
Aradığım şey ama işte :D Pgpoolu tekrar deniceyem bakalım birde sağlam bir monitoring falan bulsam en azından anlarım ne nereye gidiyor.
-
Upliyim belki şey eden olur
-
postgresql'in sağlam araçları hep paralı. Mesela disk optimizasyon araci var update ve insert işlemlerinde 200 kat'a kadar hizlandiriyor ama bunlar için Enterprice db ye geçmen gerekiyor.
Maliyeti de CPU unicore basina 1750 usd idi.
-
Cluster + Load balancer alayını çözdüm.
Select dağıtımını görebilirsiniz.