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 us...@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).

Reply via email to