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.