我有一台主服务器,并且将拥有超过 100 到 200 个从属实例。这些从属实例可以处于在线或离线状态,但会被用户使用。每当一个离线实例上线时,它应能够与主服务器同步,而不会产生冲突,并更新所有最新数据。我不希望进行任何代码相关的更改,因为 Discourse 会频繁自动更新,我不想因代码更改导致实例崩溃。
我考虑对 PostgreSQL 进行一定程度的调整。其他与数据相关的文件可以使用 Syncthing 进行同步。但更新 PostgreSQL 数据让我感到担忧,因为如果直接同步主服务器数据,离线用户完成的工作将在同步后被覆盖。
我考虑尝试将数据库中每个表的自增序列改为使用 UUID。
是否有更简单的可行解决方案?
david
(David Taylor)
2
Discourse 并非为此类应用而设计。极不可能在不破坏 Discourse 的情况下实现双向 PostgreSQL 同步。
更改此设置需要对 Discourse 代码进行一些重大修改。
如果您将从库设置为只读,并执行单向 PostgreSQL 同步,那么或许可以实现这一目标……但这将非常困难。
9 个赞
pi88
3
您好,我计划有类似的用法。我发现了一篇关于合并两个 Discourse 站点的文章。如果合并步骤可以自动化,也许我们可以设置一个 cron 作业来不断地合并主服务器和从属实例之间的数据库?