Basically a 3 node PostgreSQL Cluster, running 3 processes i.e. PostgreSQL DB, PGPool and WatchDog.
These 3 nodes will be distributed across 3 availability zones/data centers for resilience and use a synchronous replication between Primary and Stand-by.
Synchronous option will be Any One, so that the DB availability is not impacted if 1 Stand-by is down for even planned outage i.e. Patching of DB or Virtual Machine.
We see a lot of benefits of this setup in terms of availability and managing less infrastructure v/s setting up separate machines for PGPool.
However, I wanted to know if there are any Cons/Downsides of this setup and any suggestion to improve this setup.