On 6/18/25 18:12, vijay patil wrote:

Hi Team,

I am planning to implement a PostgreSQL High Availability (HA) and Load Balancing setup and would greatly appreciate your feedback on the architecture we've designed (see attached diagram).

image.png

*Overview of the Setup:*

 *

    Two PostgreSQL nodes (VM1 and VM2) configured with:

     o

        Asynchronous replication from the Primary DB (on VM1) to the
        Standby DB (on VM2) using |repmgr|

     o

        HAProxy for failover management:

         +

            HAProxy 1 (active) on VM1

         +

            HAProxy 2 (passive) on VM2 with Keepalive for heartbeat
            and failover detection

     o

        PgBouncer on both nodes for connection pooling

 *

    A Virtual IP (VIP) managed by HAProxy for routing traffic from the
    application

 *

    Read/Write operations go to the Primary DB, and Read-Only queries
    can be served from either node

*Objectives:*

 *

    Ensure high availability with automatic failover

 *

    Enable basic load balancing for read-only queries

 *

    Maintain connection pooling and routing efficiency

*Request for Feedback:*

 *

    Is this architecture considered a best practice within the
    PostgreSQL community?

 *

    Are there any potential bottlenecks or failure points I should be
    aware of?

 *

    Would you recommend any improvements or alternative tools for
    achieving better reliability and performance?

Personally I will test long run via app -> pgbouncer -> pgpool-ii in order to combine :

* Query Routing (read/write automatic split)

* Load Balancing

* High Availability

* Query caching

Have you consider pgpool-ii ?  I know most support / service companies push for patroni, and manually separating read / write traffic from within the app, but I still find pgpool's query routing very nice.

 *


Thanks

Vijay

Reply via email to