1

我目前正面临一个更具体的问题,该问题与将通过@WebFaction 托管的特定网站的故障转移支持/冗余有关。不幸的是,数据库级别的复制不是一个选项,因为我必须为每个帐户安装我自己的本地 PostgreSQL 实例,而且我担心性能等问题。所以我正在考虑使用 Django 的多数据库功能并将所有写入路由到所有(共享)数据库,并将读取平衡到最近的数据库。

我现在的问题是,我阅读的所有文档似乎都表明这很可能是不可能的。更准确地说,我需要什么:

  • 将所有写入路由到一组特定的 dbs(相同类型,版本,...)
  • 如果一个写入失败,所有其他的都将回滚(事务)
  • 将所有读取路由到最近的数据库(可以静态配置)

目前这可以通过 Django 的多数据库支持实现吗?

非常感谢您提供任何帮助/提示...

4

1 回答 1

1

我正在寻找类似的东西。我发现的是:

1)试试 Xeround cloud DB 之类的东西——它建立在 MySQL 之上,兼容但不支持保存点。您必须在(自定义)数据库引擎中禁用此功能。好消息是它们在数据库级别进行复制并提供自动可扩展性和故障转移。您的应用程序就像有一个单独的数据库一样工作。他们目前遇到了一些连接问题,但这阻碍了我的迁移。

2) django-synchro包 - 看起来很有希望在应用层进行复制,但我对此有些担忧。它不适用于我在代码中经常使用的 objects.update()。

于 2012-10-17T12:16:16.940 回答