2012-12-13 14 views
5

https://docs.djangoproject.com/en/1.4/topics/db/multi-db/ Django MultiDB belgelerini okudum ve bir süre için googled ve hala bir çözüm ile gelemedi.Birincil yedek olduğunda Django'daki bir yedekleme veritabanına nasıl geçebilirim?

Durum: Bunun için bir Django uygulaması ve bir MySQL veritabanı var. Veritabanı, master-master çoğaltma ile iki sunucu üzerinde kurulur. Django uygulaması, her ikisinden de Django dokümanlarından değiştirilmiş bir bağımlı-ana örnek kullanarak okunacak şekilde yapılandırılmıştır. Her ikisi de okur ve yazarlar iyi çalışır ve rasgele olarak her iki veritabanına da giderler.

Sorun: Sunucu1 aşağı iner. Şimdi veritabanı taleplerinin yarısı başarısız.

Django ve/veya MySQL'i, bir MySQL sunucusunun arızalanması durumunda Django'nun tam olarak çalışmaya devam etmesini sağlayacak şekilde nasıl yapılandırabilirim?

+0

Bu etikete bakın https://github.com/isagalaev/django_replicated/blob/master/django_replicated/router.py – sneawo

cevap

0

mysql-proxy gibi bir mysql proxy kullanın. Bunu kullanarak yük dengeleme ve otomatik yük devretme yapabilirsiniz.

0

Mysql-proxy kullanımının iyi olmasına rağmen, bu tamamen sitenize bağlıdır.

Bu bir üretim kalitesi, gelir getiren site mi? Öyleyse, yükü uygun şekilde dengeleyen gerçek bir Yük Dengeleyici öneririm. Daha sonra bir sunucu çökerse, tüm bağlantılar tek bir DB sunucusuna gönderilecektir.

Neden mysql-proxy dediğimin nedeni kullanılmamalıdır, bir alfa ürünüdür ve bir gelir oluşturma, üretim rolünde kullanılmamalıdır.

0

HAProxy, bunun için kullanılabilecek bir üretim sınıfı çözümdür. MySQL çiftlerinin dengeleme veya otomatik olarak yedeklenmesi, gotchas ile doludur, otomatik artışları vb.

İlgili konular