簡體   English   中英

django 數據庫路由:自動故障轉移?

[英]django database routing: automatic failover?

我有一個用 Django 框架編寫的應用程序,它提取了 PostgreSQL 數據庫。

因為我們對停機時間和冗余非常敏感,所以數據庫使用流式復制到兩個熱備服務器。 但是,當主數據庫出現故障時,我必須手動更改settings.py的數據庫服務器地址,以便 Django 進行切換。

我還不是非常熟悉 Django 數據庫路由,所以我不確定如何去做,但是是否有可能在 Django 中配置所有三個數據庫,讓路由層自動確定其中哪一個是當前的活動主並相應地路由其查詢?

(在運行時將是完美的,但我會很樂意接受“啟動時”並在過程文檔中添加一行以在對數據庫故障轉移做出反應時重新啟動 uwsgi vassal)。

您可以使用Django使用多個數據庫。 ORM對它有很好的支持。 這可以從settings.py 此外,可以設置默認數據庫, Django將使用該數據庫(作為默認值)。

這是來自文檔

DATABASES = {
            'default': {
                'NAME': 'app_data',
                'ENGINE': 'django.db.backends.postgresql',
                'USER': 'postgres_user',
                'PASSWORD': 's3krit'
            },
            'users': {
                'NAME': 'user_data',
                'ENGINE': 'django.db.backends.mysql',
                'USER': 'mysql_user',
                'PASSWORD': 'priv4te'
            }
        }

DATABASES dict 的只是"aliases"

Django 的QuerySet支持using(db_alias)方法,可幫助您在數據庫之間進行路由。

暫無
暫無

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

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