couchdb-replication mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jens Alfke <>
Subject Re: CouchDB / 200 sites global replication *without* full mesh
Date Tue, 27 May 2014 14:42:39 GMT

On May 27, 2014, at 5:39 AM, Riyad Kalla <> wrote:

> I would probably recommend you go with a smaller master-master
> replicated network, one in each major region and then allow a bunch of
> slaves around each primary to do master-slave replication.

That conflicts with the OPs requirement that "the customer can update its service configuration
at any site”. And I don’t think it’s necessary to limit any of the nodes to being slaves.
Yes, replication conflicts are possible, but only in cases where a user changes settings at
two different sites at roughly the same time, which would be very unlikely since the sites
are geographically dispersed.

> I'd also point out that every
> single write to every single database having a potential 200x write
> multiplier across your mesh network might have unforseen consequences
> especially during times of heavy traffic

If the documents being written are “service configurations”, I’m guessing they don’t
change that often and they’re not terribly big. So the amount of traffic doesn’t sound
like a concern. (Also, any document change only gets sent once across any particular arc of
the mesh.)

As for topology: The most efficient setup in terms of overall bandwidth would be a spanning
tree. But for robustness in case any of the nodes or arcs fail, as well as lower latency,
you might want to add some redundant connections between otherwise-non-adjacent nodes.


View raw message