I’m setting this up now with 6 servers in 3 datacenters. I considered 6-way multi-master
but there was a concern about what would happen if multiple masters were down and came up
with different databases, and some anecdotes about situations where multi-master
configurations were unable to recover from such an event and databases had to be manually
copied to fix the problem, so I ended up with 2-way MM in my primary DC and 4 slaves. We
only have a few thousand users (records) at this time but the plan is to eventually scale
to 10M or more.
I’m not sure how to interpret your question regarding “less connections.” Multi-master
does not reduce load on any one server because every write has to be duplicated to every
server. A given server may see a smaller number of connections from clients, but they will
be replaced by requests from the other masters. See “18.2.2. N-Way Multi-Master
If by “ring” you mean that each master in a MM configuration only connects to 2 other
masters, I haven’t seen that. It’s not obvious to me what would be the benefit. The same
number of requests creates the same load over 2, 4 or 100 connections. If you have large
numbers of clients connecting you would use a load-balancer to aggregate them into one
connection per server.
Years ago I ran a large Zimbra system, and we scaled by adding LDAP slaves to a single
master until the reads from the slaves started overwhelming the master, then we added a
second tier of slaves between the master and the responders. Of course adding slaves only
helps if you have large numbers of reads and small numbers of writes. I don’t know how to
scale large numbers of writes; fortunately this is not a problem that we will be seeing
anytime soon so I have plenty of time to figure it out.
From: openldap-technical [mailto:email@example.com] On Behalf Of
Sent: Monday, May 18, 2015 3:12 PM
Subject: openldap: 3+ multi datacentre replication
Could you share any experience setting-up/expanding (large) ldap server to multi data
What strategy do you use - mesh or ring topology?
Looking for examples where 3+ DCs with failover(master/master or master/slave) ldap setup
in each DC.
Is ring topology better than mesh as ldap has to only deal with less connections? Would be
nice if you can mention any scaling issues?