Funding Cyrus High Availability

Paul Dekkers Paul.Dekkers at
Fri Sep 17 02:55:38 EDT 2004


Ken Murchison wrote:

> I think this would cause performance to suffer greatly.  I think what 
> we want is "lazy" replication, where the client gets instant results 
> from the machine its connected to, and the replication is done in the 
> background.  I believe this is what David's implementation does.

Yes, but if I understood it well it is per action, and not long after 
the action was performed on one of the machines. (It should at least not 
take long, but get in queue/backlog or something for the background 
process? I'm not sure how it's done in David's patch, and neither if 
that is really what we should go for, but that's up to you developers :-))

In my other reply:

> I would say not at an interval but as soon as there is an action 
> performed on one mailbox, the other one would be pushed to do 
> something. I believe that is called rolling replication.
> I would not be really happy with a interval synchronisation. It would 
> make it harder to use both platforms at the same time, and that is 
> what I want as well. So there is a little-bit of load-balancing 
> involved, but more and more _availability_.

It plays a role that in our situation there is also spamassassin running 
on the servers: if that could be distributed because one mail can be 
delivered to one box and another one to the other that would already 
mean quite some load-balancing: and then we have not taken the load of 
cyrus into account :-)

> Being able to use both platforms at the same time maybe implies that 
> there is either no master/slave role or that this is auto-elected 
> between the two and that this role is floating...

I'm not sure about that, btw: I'm no good programmer, but I can imagine 
that this is a something you want.

If one server is down it should mean that all tasks can be performed at 
the other one. I 'm curious how this would look if both servers are 
still running but cannot reach eachother. If there is indeeed a UUID: 
what if there are doubles... but I guess that has been taken into account.


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

More information about the Info-cyrus mailing list