On Tue, Aug 06, 2024 at 02:37:06PM -0000, thomaswilliampritchard@gmail.com wrote:
We use Multi Provider Replication however we ensure writes are directed only to one provider at a time.
What is the recommended HA Provider configuration these days? "Mirror Mode" where you just have 2 providers with proxies between clients and consumers? Multi Provider with just proxies in front of clients? Multi provider with no proxies and no delta syncrepl?
It seems there are numerous ways to configure highly available providers, what is recommended for most stability and data consistency?
Consumers can follow several providers at the same time so where replication traffic is concerned, that redundancy also gives you HA.
Clients that only ever do writes can be routed to anything, so whatever you go with (lloadd, haproxy, connection pooling,...) will do.
Clients that sometimes want to write need to talk to an arbiter of some sort that consistently points to just one of the providers. That is probably what you were interested in? Depends on where you want to sit between downtime, consistency and complexity: you can use lloadd[0], other proxies with the appropriate configuration or you can go all out and do IP-level clustering so there's no meaningful single point of failure anywhere.
Chaining should also use the same endpoint as write clients.
[0]. To get consistent routing in lloadd, you can rely on reconfiguring olcBkLloadBackendUri when downtime is detected or with a single lloadd you can use a config snippet like this (see man lloadd.conf for details):
---- 8< ---- # we use this one as long as it's reachable *at all* tier roundrobin backen-server uri=primary...
# unless all connections to primary are down, then we use this one tier roundrobin backend-server uri=secondary... ---- 8< ----