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 replication” here:

 

http://www.openldap.org/doc/admin24/replication.html

 

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:openldap-technical-bounces@openldap.org] On Behalf Of hab
Sent: Monday, May 18, 2015 3:12 PM
To: openldap-technical@openldap.org
Subject: openldap: 3+ multi datacentre replication

 

Could you share any experience setting-up/expanding (large) ldap server to multi data centres(DC)? 

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?