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