I am planning to set up a high-availability PostgreSQL cluster using Patroni. Due to infrastructure constraints, I only have two dedicated database nodes available. I know that a Distributed Configuration Store (like etcd or Consul) requires an odd number of nodes (minimum 3) to achieve quorum and safely prevent split-brain scenarios.
Before I begin the deployment, I would appreciate your advice on the following architectural approaches: 1. Is it recommended to run a 3-node etcd cluster where 2 instances live on the DB nodes and a 3rd "witness" instance lives on a lightweight application server/VM? 2. Alternatively, does Patroni safely support a 2-node setup using a single external DCS instance, or does that introduce a critical single point of failure (SPOF)?
Any architectural pointers or template configurations for this constraint would be highly appreciated. Thanks!