我的 Django 应用程序必须大量读取 RDS (maridadb)。所以我想,我如何解决这个性能问题? RDS 有一个副本。 我想将 Django 设置为使用多数据库。我该怎么做?
请您参考如下方法:
您想在 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'
}
}
然后,使用数据库路由器 (django.db.router)。 (也在那些文档中)。还有一个 DATABASE_ROUTERS 配置。
如果需要,您还可以使用 route53 对多个只读副本进行负载平衡:https://aws.amazon.com/premiumsupport/knowledge-center/requests-rds-read-replicas/
