Funding Cyrus High Availability

Paul Dekkers Paul.Dekkers at
Sat Sep 18 03:16:22 EDT 2004


Ken Murchison wrote:

>>> Question:   Are people looking at this as both redundancy and 
>>> performance, or just redundance?
>> for performance we already have murder, what we currently lack is 
>> redundancy. once we have redundancy then the next enhancement is 
>> going to be to teach murder about it so that it can failover to the 
>> backup box(s) as needed, but for now simply having the full data at 
>> the backup location would be so far ahead of where we are now that 
>> the need to reconfigure murder for a failover is realitivly trivial 
>> by comparison.
> Actually what I was really asking, is are people looking for an 
> active-active config and an active-passive config?

My vote is certainly for active-active...

And if feasible, I would also choose to have an equal role for both 
servers. I think in this stage (altough maybe not if David's patch is 
copied entirely) that this would be not so much work extra, but when 
adding it later it seems much more work to me. (It's just a matter of 
design I suppose: having two backlogs and synchronising them to the 
other host. This is also what you want with an active-active situation, 
it shouldn't matter who you're talking to.)

David Carter wrote:

>> In my sketch above (really not sure if it works of course) where both 
>> have something like a backlog you can like "tail" that backlog and 
>> push the update as soon as possible to the second machine. You solve 
>> the thing you mention with delays while pushing updates to two 
>> servers at the same time.
> Yes, that's exactly how my code works. Asynchronous replication (which 
> Ken called lazy replication) is fairly easy to do in Cyrus. 
> Synchronous replication, where you only get a response to an 
> IMAP/POP/LMTP command when the data is safely committed to the 
> replica, would involve a much more substantial rewrite of the Cyrus code.

I don't know the exact benefits of that solution, but I can also imagine 
that this raises problems if one server is down. (You have to use a 
backlog then anyway.) I think I care more about having two servers 
active (with the option of active-down) and a good recovery mechanism 
then if the synchronisation is lazy or not ;-) (and I think that it 
might be easier to recover (when e.g. both servers crash) with a 
backlog, but that's really up to the programmers.)


Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list