[Dovecot] dovecot imap cluster

Timo Sirainen tss at iki.fi
Fri Jan 27 22:57:05 EET 2012


On 27.1.2012, at 20.11, Simone Caruso wrote:

>> I have a customer with 3 different geographic locations.
>> 
>> Every locations have a mail server for the same domain (example.com).
>> 
>> If user1 at example.com receive mail form external this mail going on
>> every locations server.
>> 
>> I've a problem now, is it possible to syncronize the state (mail flag)
>> of user1 imap folder mails on every mail locations server?
> 
> Syncronize your storage with DRBD, (or async replica like rsync) and use dovecot
> director for connection persistence.


There are a couple of problems with DRBD and most (all?) other filesystem based solutions when doing multi-master replication across wide geographic locations:

1. Multi-master requires synchronous replication -> latency may be very high -> performance probably is bad enough that the system is unusable.

2. Network outages are still common -> you can't handle split brain situations in filesystem level without either a) loss of availability (everyone's email down) or b) data loss/corruption (what do you do when multiple sites have modified the same file?)

With dsync-based replication it's possible to avoid both of these problems, because application-level replication can intelligently handle situations where asynchronous replication results in data conflicts. (This kind of conflict resolution is also what I hope to do with some nosql database in future when Dovecot supports them.) I've been working on dsync-based easy-to-use replication recently, and it's almost in a condition where I'm going to start using it myself (maybe this weekend).


More information about the dovecot mailing list