我必须使用 AWS RDS 的副本,我应该如何设置 django 设置?

hah*_*aha 5 python django rds amazon-web-services

我的 Django 应用程序必须大量读取 RDS (maridadb)。所以我想,如何解决这个性能问题?RDS 有一个副本。我想将 Django 设置为使用多数据库。我怎样才能做到这一点?

小智 2

您想在 Django conf 中设置第二个数据库。阅读此处https://docs.djangoproject.com/en/2.0/topics/db/multi-db/

就像这样:

DATABASES = {
    'default': {
        'NAME': 'user_data',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'superS3cret'
    },
    'read_replica': {
        'NAME': 'customer_data',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_cust',
        'PASSWORD': 'veryPriv@ate'
    } 
}
Run Code Online (Sandbox Code Playgroud)

然后,使用数据库路由器(django.db.router)。(也在那些文档中)。还有一个 DATABASE_ROUTERS 配置。

如果需要,您还可以使用route53对多个只读副本进行负载平衡: https: //aws.amazon.com/premiumsupport/knowledge-center/requests-rds-read-replicas/