【问题标题】:How do I switch to a backup database in Django when the primary is down?当主数据库关闭时,如何切换到 Django 中的备份数据库?
【发布时间】:2012-12-01 03:51:34
【问题描述】:
我已经阅读了 Django MultiDB 文档 https://docs.djangoproject.com/en/1.4/topics/db/multi-db/ 并用 Google 搜索了一段时间,但仍然无法找到解决方案。
情况:有一个 Django 应用程序和一个 MySQL 数据库。该数据库设置在两台具有主-主复制的服务器上。 Django 应用程序被配置为使用来自 Django 文档的修改后的 slave-master 示例从它们两者中读取。读取和写入都可以正常工作,并且随机进入两个数据库。
问题:Server1 出现故障。现在有一半的数据库请求失败了。
如何配置 Django 和/或 MySQL,以便 Django 在一台 MySQL 服务器出现故障时继续完全工作?
【问题讨论】:
标签:
mysql
database
django
【解决方案1】:
HAProxy 是可用于此目的的生产级解决方案。 MySQL 对的平衡或自动故障转移充满了陷阱,请检查您是否正在对自动增量进行分区等!
【解决方案2】:
虽然 mysql-proxy 可能很好用,但这完全取决于您的站点。
这是一个生产质量、创收的网站吗?如果是这样,我会建议一个适当地平衡负载的实际负载平衡器。然后,如果一台服务器出现故障,所有连接都将发送到一台实时数据库服务器。
我之所以说不应该使用 mysql-proxy,是因为它是一个 alpha 产品,不应该用于产生收入的生产角色。