git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 44d85ba) | patch
Support connection load balancing in libpq
2023年3月29日 19:53:38 +0000 (21:53 +0200)
2023年3月29日 19:53:38 +0000 (21:53 +0200)
commit 7f5b19817eaf38e70ad1153db4e644ee9456853e
Support connection load balancing in libpq

This adds support for load balancing connections with libpq using a
connection parameter: load_balance_hosts=<string>. When setting the
param to random, hosts and addresses will be connected to in random
order. This then results in load balancing across these addresses and
hosts when multiple clients or frequent connection setups are used.

The randomization employed performs two levels of shuffling:

1. The given hosts are randomly shuffled, before resolving them
one-by-one.
2. Once a host its addresses get resolved, the returned addresses
are shuffled, before trying to connect to them one-by-one.

Author: Jelte Fennema <postgres@jeltef.nl>
Reviewed-by: Aleksander Alekseev <aleksander@timescale.com>
Reviewed-by: Michael Banck <mbanck@gmx.net>
Reviewed-by: Andrey Borodin <amborodin86@gmail.com>
Discussion: https://postgr.es/m/PR3PR83MB04768E2FF04818EEB2179949F7A69@PR3PR83MB0476.EURPRD83.prod.outlook.
.cirrus.yml diff | blob | blame | history
doc/src/sgml/libpq.sgml diff | blob | blame | history
doc/src/sgml/regress.sgml diff | blob | blame | history
src/interfaces/libpq/fe-connect.c diff | blob | blame | history
src/interfaces/libpq/libpq-int.h diff | blob | blame | history
src/interfaces/libpq/meson.build diff | blob | blame | history
src/interfaces/libpq/t/003_load_balance_host_list.pl [new file with mode: 0644] blob
src/interfaces/libpq/t/004_load_balance_dns.pl [new file with mode: 0644] blob
src/test/perl/PostgreSQL/Test/Cluster.pm diff | blob | blame | history
src/tools/pgindent/typedefs.list diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /