Bağlantı dengelemeye karşı yük dengeleyici - fark var mı?


11

Lansmandan kısa bir süre sonra milyonlarca kullanıcıya hizmet vermesi beklenen bir proje üzerinde çalışıyorum. Veritabanı postgres ve şimdilik en az iki sunucunun gerekli olacağını varsayıyorum. Bir sys yöneticisi (açık bir şekilde ölçeklendirilebilir sistemlerde usta olan), web sunucuları ile veritabanı sunucuları arasında bir yük dengeleyici koymayı önerdi.

Benim sorum yük dengeleme ile bağlantı havuzu oluşturma arasındaki farktır. Performansı korumak için birine mi yoksa diğerine mi bakmalıyım?


Onlar hemen hemen aynı şey. pgbouncer önerilen havuzcu, pgpool II daha fazla özelliğe sahiptir, ancak kurulumu daha karmaşıktır.
Scott Marlowe

Yanıtlar:


7

PostgreSQL ile uygulama katmanında (örn. Havuzlamada yerleşik jdbc vb.) Veya uygulama ile pgbouncer veya pgpool gibi db (s) arasında yer alan bir ara katmanda havuzlama yapabilen iki farklı alanınız olur.

Pgbouncer veya pgpool gibi bir ara katmanda havuzlama yaparsanız, bu katman AYRICA belirli sorguların yük dengelemesini yapabilir. Dahası yük dengeleme sırasında, yazma işlemlerini iki yoldan biriyle yapabilirsiniz: slony gibi bir araç kullanarak veya pg 9.0'da gösterilen yerleşik akış çoğaltmasıyla başka yollarla okuma kölelerinize çoğalan tek bir yazma ustanız olabilir. ve yukarısı, ya da yük dengeleyici tüm yazma yapmak, böylece gelen okuma sadece bir db vurmak, ancak yazma hepsini güncel tutmak için her veritabanına isabet.

Ya da maceracıysanız, plproxy kullanarak yük dengeleme katmanını başka bir katmandan postgresql içine taşıyabilirsiniz. Bu, gerçek bir veri içermeyen ön uca bir pg veritabanı koymanıza izin vermek için tasarlanmış pgsql için bir pl dildir ve bu veritabanı daha sonra inanılmaz verim için birden fazla olası dbs üstünde çalışabilir. plpoxy kurmak ve çalıştırmak oldukça karmaşık ama aynı zamanda oldukça ölçeklenebilir. Uygulamanızın desteklenmesi için yeniden yazılması gerektiğine dikkat edin, böylece herhangi bir eski uygulama altında atılamaz ve çalışır.

http://slony.info/ http://wiki.postgresql.org/wiki/PL/Proxy http://pgpool.projects.postgresql.org/


3

Yük dengeleme ve bağlantı havuzu oluşturma çok farklı iki şeydir.

Bağlantı havuzu oluşturma (dünyanın Microsoft tarafından geliyorum, ancak işler benzer olduğunu düşünüyorum) uygulamanın bağlantıyı kesip yeniden bağlanmak yerine bir sonraki sorgu için yeniden kullanabilmesi için veritabanını açık tutmasını sağlar çalıştırılması gereken her sorgu için.

Yük dengeleme, yük dengeleyicinin arkasında birden fazla veritabanı sunucusuna sahip olmanızı sağlar, böylece yükü tüm işi işleyen tek bir sunucu yerine birden çok sunucuya dağıtabilirsiniz.

Bağlantı dengelemeyi yük dengelemeyle kullanabilirsiniz, ancak bağlantıların hiçbir zaman düşürülmeyeceği için iki veritabanı sunucusu arasında dengesiz bir yük ile sonuçlanabileceğinizi unutmayın.

Tek bir veritabanı sunucusu uygulamanın yükünü kaldıramazsa, oraya 3 sunucu alın. Bu şekilde, uygulama kilitlenmeden birini gerektiği gibi yeniden başlatabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.