【发布时间】:2013-05-24 14:58:11
【问题描述】:
正如你们中的一些人所知,Django 支持多数据库。这可以通过编写一个 dbrouter 将写入发送到主数据库并将所有读取发送到从属数据库来实现,但正如 Django Docs For Master/Slave Configuration 中所述
所描述的主/从配置也存在缺陷——它没有提供任何解决复制延迟的解决方案(即,由于写入传播到从属所需的时间而引入的查询不一致)。它也没有考虑事务与数据库利用策略的交互。
由于写入传播到从属服务器需要时间,我该如何解决复制滞后和查询不一致的问题?有什么我可以为此实现的代码吗?
【问题讨论】:
-
您是否希望在某些数据库上禁用写入功能?
-
@karthikr 嘿,我只是想让所有的写入都交给主机,而所有的读取都交给从机。通过这样做,我减轻了负载,因为我有两个相同的数据库共享工作,而不是让一个数据库执行所有读取和写入操作,从而使一切都可以顺利高效地运行:)
-
抱歉。我误解了你的问题。
-
@karthikr 不用担心 :)
标签: django postgresql database-replication master-slave django-orm