Redmine 高可用实例

Redmine high availability instances

任何人都可以为我提供替代方案以及安装 Redmine HA 实例的步骤吗?

我尝试用Docker swarm来解决,但是看起来很复杂。

Redmine 应用程序本身(几乎,见下文)是无状态的,因为所有状态都保存在底层数据库中。您可以轻松地 运行 不同 servers/VMs 上的多个 Redmine 实例,通过在 database.yml 中指定数据库,所有实例都指向单个数据库(集群)。唯一剩下的部分是存储在 Redmine 中 files/ 中的文件附件。您必须将其放在网络共享上。

然后可以使用任何支持负载平衡的反向代理(例如 HAProxy)在您的 Redmine 实例之间分发请求,或者在其中一个实例出现故障时实施故障转移。

要使您的数据库高度可用,您必须研究所选 DBMS 的复制功能。例如,PostgreSQL 在其文档中有一个 section about HA

这不是黑魔法,但需要持续不断的工作才能使 Redmine 运行 大规模运行时快速可靠。我的公司 Planio Redmine Hosting 每天都这样做。