Nuxeo Server

Setting up a HA Configuration Using the Nuxeo Platform and PostgreSQL

Updated: March 18, 2024

Target Architecture

The target architecture is to:

  • Use the Nuxeo Platform built-in clustering mode to ensure HA at Application level;
  • Configure PostgreSQL Master/Slave replication mode  to ensure HA at Database level.

Nuxeo Clustering and Network Load-Balancing

See the Nuxeo Clustering Configuration page.

Setting up PosgreSQL Streaming Replication

Streaming replication allows a standby server to stay more up-to-date than is possible with file-based log shipping.

We provide ansible scripts to deploy a cluster of two PostgreSQL servers as an example. Please refer to the PostgreSQL streaming replication page for more information.

There are several ways to achieve PGSQL replication: we are just presenting one of the possible option.

BinaryStore Replication

Technically, you don't need to replicate the BinaryStore if you use a reliable backend like:

  • a NAS that already handles redundancy;
  • Amazon S3.

However, if you want to have the full storage replicated in two separated data center, you will want to replicate the BinaryStore too.

Because of the way the BinaryStore is handled (no update, move) , you don't have a lot of constraints:

  • Rsync
  • DRBD
  • ...

PostgreSQL Fail over Procedure

When the master database is down, the slave must be promoted to master. This means changing changing the recovery.conf and postgresql.conf files and restart. This can be easily scripted.

If your infrastructure provides a virtual IP for the database, the VCS pool (used for the document repository access) is able to reconnect automatically to the database.

Backup and Restore

Please refer to the Nuxeo backup procedure.