Attila Nagy wrote:
Ken Murchison wrote:
Is replicated murder consists of multiple backend server groups which has the same mailboxes? So murder will say that user.jsmith is on server1 AND server2, instead of just saying it's on server1 OR server2?
Yes. Any machine in the Murder has local access to any mailbox.
Hmm. If any machine can access any of the mailboxes, why is murder necessary?
The MUPDATE protocol is used to keep mailboxes.db in sync on each server.
Above, I described a setup, similar to this (ASCII art follows):
+-----+ +-----+ +-----+ +-----+ |IMAP1| |IMAP2| |IMAP3| |IMAP4| +--+--+ +-----+ +--+--+ +-----+ | / | / +--+--+ +--+--+ |STOR1| |STOR2| +-----+ +-----+
So murder is necessary to make the namespace unified. This way the MUPDATE servers say that a mailbox on STOR1 storage is on IMAP1 and IMAP2, so IMAP3 can't access mailboxes on STOR1. Does this work?
No. You're talking about two levels of synchronization here, the current Murder code only handles the following scenarios.
Standard/Unified Murder:
+-----+ +-----+ +-----+ +-----+ |IMAP1| |IMAP2| |IMAP3| |IMAP4| +--+--+ +--+--+ +--+--+ +--+--+ | | | | +--+--+ +--+--+ +--+--+ +--+--+ |STOR1| |STOR2| |STOR3| |STOR4| +-----+ +-----+ +-----+ +-----+
In a standard config, the mailboxes.db on each IMAP server only contains those mailboxes contained on its local STORage. The master mailboxes.db (which contains ALL mailboxes and the servers on which they reside) is located on the MUPDATE master and slaves (frontend).
In a unified config, the master mailboxes.db is located on the MUPDATE master. Each IMAP server is an MUPDATE slave (no frontends necessary) and differentiates between local and remote mailboxes.
Replicated Murder:
+-----+ +-----+ +-----+ +-----+ |IMAP1| |IMAP2| |IMAP3| |IMAP4| +-----+ +--+--+ +--+--+ +--+--+ \ \ / / \ +-----+ / \--+STOR1+--/ +-----+
In a replicated config, the master mailboxes.db is located on the MUPDATE master. Each IMAP server is an MUPDATE slave (no frontends necessary) and all mailboxes are considered local.
-- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key-- http://www.oceana.com/~ken/ksm.pgp --- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html