Timo Sirainen wrote:
I'll probably be implementing multi-master replication this summer. My previous thoughts about it are here: http://dovecot.org/list/dovecot/2007-December/027284.html
Below is a description of how the replication protocol will probably work. It should work just as well for master-slave and multi-master setups. Comments welcome. I'll write later a separate mail about how it'll be implemented to Dovecot.
My first thoughts are that although this seems like a really exciting feature set - it doesn't *appear* to solve many use cases ie fully disconnected modifications?
I'm thinking:
- personal imap server on my laptop which will intermittently sync back to the office. While offline I will copy messages around and perhaps create new messages (drafts, folders containing notes, etc)
- two offices connected by dialup. Users can connect to either server and create/delete content to their hearts content, eg local smtp on each server which delivers to the local inbox, but syncs back up to the main server, means we can mail other local users directly without connecting the dialup link, but if you go back to the main office eventually your mailbox back there syncs up to be the same as in the satellite office
I think they imapsync style protocol is the most powerful starting point for master/master sync. However, that style of sync can be made more efficient by using the LEMONADE features you previously added, in particular by offering a limited log file of recent actions in a folder we can avoid a full sync and apply only the recent changes to a given folder (fallback to full sync and compare if folders fall out of sync)
The other advantage of the imapsync style protocol is that it's much simpler to support partial replication, eg replicate only certain folders over certain date ranges (or only parts of certain messages, eg excluding large attachments)
My interest is for scenarios like a cruiseliner where we want crew to be able to email each other instantly onboard without involving the satellite link, but when they go ashore they should still be able to see the same mail in their inbox back on the server onshore (or they move to another ship then we sync their mailbox across)
Any comments?
Ed W