簡體   English   中英

當主數據庫關閉時,如何切換到 Django 中的備份數據庫?

[英]How do I switch to a backup database in Django when the primary is down?

我已經閱讀了 Django MultiDB 文檔https://docs.djangoproject.com/en/1.4/topics/db/multi-db/並搜索了一段時間,但仍然無法提出解決方案。

情況:有一個 Django 應用程序和一個 MySQL 數據庫。 該數據庫設置在兩台具有主-主復制的服務器上。 Django 應用程序被配置為使用 Django 文檔中修改的從-主示例從它們兩者中讀取。 讀取和寫入都可以正常工作,並且隨機 go 到兩個數據庫。

問題:Server1 宕機。 現在一半的數據庫請求失敗。

如何配置 Django 和/或 MySQL 以使 Django 在一台服務器出現故障的情況下繼續完全工作?

使用像mysql-proxy這樣的mysql代理 您可以使用它進行負載平衡和自動故障轉移。

雖然mysql-proxy可能很好用,但這一切都取決於你的網站。

這是一個生產質量,創收網站嗎? 如果是這樣,我會建議一個實際負載平衡器,以適當平衡負載。 然后,如果一台服務器出現故障,所有連接都將被發送到一台實時數據庫服務器。

我之所以說不應該使用mysql-proxy,是因為它是一個alpha產品,不應該用於創收,生產角色。

HAProxy是一種可用於此目的的生產級解決方案。 MySQL對的平衡或自動故障轉移充滿了陷阱,請檢查您是否正在划分自動增量等等!

有 2 個單獨的設置文件,第一個連接到主控 1,第二個連接到主控 2。然后在 if 循環中加載設置文件,如果第一個無法連接到主控 1 設置文件,則會出現 catch 異常,然后使用第二個設置文件到master 2。這樣你也讓master做復制而不是你在應用層編寫兩個數據庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM