Thread: Load balancing of write queries among health-checked nodes
Load balancing of write queries among health-checked nodes
From
me+postgres@kotovalexarian.com
Date:
Hello. I have a PostgreSQL high availability cluster with Pgpool-II, but I don't use the virtual IP feature so my clientsdon't know which node to send queries to. DNS round-robin is not a solution because it can't distinguish between healthyand dead nodes. I thought about having a Pgpool-II instance on each client (client Pgpool-II -> cluster Pgpool-II -> PostgreSQL), but AFAIKit can't distribute write queries. I also know that libpq may have multiple nodes to connect, but I need an advancedhealth check because a node may have connectivity but be separated from the whole cluster so it must be considereddead. Is there any solution?
On Mon, Oct 7, 2024 at 11:04 PM <me+postgres@kotovalexarian.com> wrote:
Hello. I have a PostgreSQL high availability cluster with Pgpool-II, but I don't use the virtual IP feature so my clients don't know which node to send queries to. DNS round-robin is not a solution because it can't distinguish between healthy and dead nodes.
I thought about having a Pgpool-II instance on each client (client Pgpool-II -> cluster Pgpool-II -> PostgreSQL), but AFAIK it can't distribute write queries. I also know that libpq may have multiple nodes to connect, but I need an advanced health check because a node may have connectivity but be separated from the whole cluster so it must be considered dead.
Isn't that multi-master clustering?
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> crustacean!
Re: Load balancing of write queries among health-checked nodes
From
me+postgres@kotovalexarian.com
Date:
Among PostgreSQL instances there is only one master. But yes, each server may be considered master by the clients becauseit's Pgpool-II will redirect write queries to the actual master. Maybe it's even better to avoid this unnecessarytraffic between servers and decide which Pgpool-II is in front of the master on the client side, but this is optional. Dnia 8 października 2024 07:30:05 GMT+04:00, Ron Johnson <ronljohnsonjr@gmail.com> napisał/a: >On Mon, Oct 7, 2024 at 11:04 PM <me+postgres@kotovalexarian.com> wrote: > >> Hello. I have a PostgreSQL high availability cluster with Pgpool-II, but I >> don't use the virtual IP feature so my clients don't know which node to >> send queries to. DNS round-robin is not a solution because it can't >> distinguish between healthy and dead nodes. >> >> I thought about having a Pgpool-II instance on each client (client >> Pgpool-II -> cluster Pgpool-II -> PostgreSQL), but AFAIK it can't >> distribute write queries. I also know that libpq may have multiple nodes to >> connect, but I need an advanced health check because a node may have >> connectivity but be separated from the whole cluster so it must be >> considered dead. >> > >Isn't that multi-master clustering? >