分发 Python/Django 应用程序并处理数据库复制

分发 Python/Django 应用程序并处理数据库复制

我们开发了一个 Python/Django 应用程序,希望将其分发给客户,以便他们可以在本地(在 VM 上)运行它。我们这样做是为了让他们即使网络连接中断也能使用该应用程序,并且它只会“重新同步”到我们 DC 中的主数据库。

我们正在研究 MySQL/PostgreSQL 复制,但它们似乎在自动故障转移方面存在问题,而这是必须的。目前,我们有大约 10-15 个客户端在本地运行此软件,但我们希望能够扩展到更多。实现此目的的最佳方法是什么(并且代码更改最少)?

答案1

离线使用和重新同步需要大量的冲突解决逻辑 - 可能不是您希望让数据库引擎的内置复制处理的事情。

您仍然需要实现冲突解决部分,但也许可以考虑一下可分布式非关系数据库(Mongo、Couch、Cassandra 等),它可能更适合您要做的事情,并让您避免从头开始编写所有的复制逻辑。

相关内容