Choosing a deployment architecture v4
Failover Manager provides various high availability options for EDB Postgres Advanced Server using the Postgres connection poolers and connection libraries. These options have implications for a high-availability architecture.
To ensure the high availability of your database, you can combine core features of Failover Manager with the Postgres connection libraries (client connect failover) and connection poolers.
With the capabilities of Failover Manager, EDB has designed four basic architectures to run a high-availability environment:
Failover Manager using VIP (virtual IP): Failover Manager has a key capability to manage VIP addresses out of the box. VIP addresses allow applications to connect to a single IP address that is being routed to the primary database server. This architecture is the most basic solution to run when VIP addresses are available in your environment.
Failover Manager using client connect failover: PostgreSQL client libraries like libpq and jdbc allow for client connection failover. With client connection failover, the connection string contains multiple servers (host=srv1,srv2) and the client library loops over the available hosts to find a connection that is available and capable of read-write operations. This capability allows clients to follow the master during a switchover. This solution doesn't rely on virtual IP addresses. You can use it in every environment where such client configurations can be set.
Failover Manager with PgBouncer: PgBouncer adds capabilities such as connection pooling and the option to halt traffic. You can also use it as a proxy between the client and the Postgres database server. By leveraging the integration options in Failover Manager to run reconfiguration of PgBouncer during a failover, you can use PgBouncer to route the traffic to the correct primary database server.
Failover Manager with EDB Pgpool-II: EDB Pgpool-II is another tool used as a proxy between the client and the Postgres database server. EDB Pgpool-II adds capabilities such as running in cluster mode with a Watchdog, managing VIPs, and read-only scalability. Failover Manager has native capabilities to integrate with EDB Pgpool-II to redirect traffic to another primary during Database failover operations.
These features are supported in each of the architectures:
Client connect failover
Features | Failover Manager with VIP | Failover Manager with client connect failover | Failover Manager with EDB PgBouncer | Failover Manager with EDB Pgpool-II |
---|---|---|---|---|
Connection pooling | Yes | Yes | ||
Runs on cloud (no VIP) | Yes | Yes | Yes | |
Halt traffic option | Yes | |||
Read-only scalability | Yes (using multiple connection factories) | Yes | ||
Clustered proxy | Yes | |||
Proxy integration | ssh | PCP | ||
Minimum servers required | 3 | 3 | 5 | 6 |
Complexity | Low | Low | Medium | High |
Network hops | 1 | 1 | ||
Failover duration | Low | Medium | Low | Low |