Support load balancing in libpq - Mailing list pgsql-hackers

From Jelte Fennema
Subject Support load balancing in libpq
Date
Msg-id PR3PR83MB04768E2FF04818EEB2179949F7A69@PR3PR83MB0476.EURPRD83.prod.outlook.com
Whole thread Raw
Responses Re: Support load balancing in libpq
Re: Support load balancing in libpq
RE: Support load balancing in libpq
List pgsql-hackers
Load balancing connections across multiple read replicas is a pretty
common way of scaling out read queries. There are two main ways of doing
so, both with their own advantages and disadvantages:
1. Load balancing at the client level
2. Load balancing by connecting to an intermediary load balancer

Option 1 has been supported by JDBC (Java) for 8 years and Npgsql (C#)
merged support about a year ago. This patch adds the same functionality
to libpq. The way it's implemented is the same as the implementation of
JDBC, and contains two levels of load balancing:
1. The given hosts are randomly shuffled, before resolving them
    one-by-one.
2. Once a host its addresses get resolved, those addresses are shuffled,
    before trying to connect to them one-by-one.
Attachment

pgsql-hackers by date:

Previous
From: Phil Florent
Date:
Subject: Re: Error from the foreign RDBMS on a foreign table I have no privilege on
Next
From: Jacob Champion
Date:
Subject: Re: [PATCH] Expose port->authn_id to extensions and triggers