Patroni & etcd:
Utilized for automated PostgreSQL master selection and failover. Patroni sends keepalive packets and monitors replica health, while etcd acts as a reliable key-value store.
HAProxy:
Configured to route client requests to the healthiest PostgreSQL node, with health checks and configurable failover thresholds.
KeepAlived & VRRP:
Employed to maintain a consistent virtual IP for external connectivity and ensure seamless network failover.
Firewall & NAT:
Detailed iptables or firewalld rules, along with NAT configurations, are used to secure the cluster and control traffic flow between internal nodes and external clients.
Monitoring:
Zabbix is configured to monitor system health, replication status, and network performance, with alerts set up to trigger automated responses.