[ZODB-Dev] ZODB replication and high-availability across data centers

Roché Compaan roche at upfrontsystems.co.za
Thu Oct 21 12:10:54 EDT 2010


On Thu, 2010-10-21 at 17:44 +0200, Andreas Jung wrote:
> Hi there,
> 
> we are currently investigating options for a large-scale solution
> where the machines (ZEO clients and ZEO server) should be separated
> across two data centers. Incoming traffic should be balanced between
> both data centers. Automatic failover and online-replication are
> desirable - "high-performance" is a must.
> 
> The well-known options are:
> 
> ZRS
> (ZEO)
> Relstorage on top of some RDBMS-related clustering/replication mechanism
> NEO
> DRDB
> ZEORaid

We use DRDB regularly for replication between servers but never across
data centers.

> 
> Has anyone worked on such a setup or may share some experiences -
> especially by using one of the options above across data-centers
> (with a limited bandwidth inbetween and a higher latency compared to LAN).

We have only one application where we do multi-master replication
between SA and Germany over a severely limited bandwidth connection. The
replication is at the application level and not at the database level
since we wanted to finely control what we transfer and ensure we
transfer as little as possible. The replication code is a single Python
module that serializes method calls on objects, transports it to the
replication target and repeats the call on the replication target. It's
modelled on the idea of replaying SQL statements on a replication
target. Parts of it are application specific but most of it is pretty
generic. If you or anybody else is interested I can mail it to you -
I've never had the time to turn this into something generally useful.

-- 
Roché Compaan
Upfront Systems                   http://www.upfrontsystems.co.za



More information about the ZODB-Dev mailing list