On 8/18/2012 5:27 AM, Eric Charles wrote:
Hi,
We tackle distributed UID generation via
https://issues.apache.org/jira/browse/MAILBOX-103
We have a first snapshot implementation (undocumented) with UID
generated by a Zookeeper Ensemble in
https://svn.apache.org/repos/asf/james/mailbox/trunk/zoo-seq-provider
I understand Joshua is using a single IBM Database, for info a
distributed storage such as HBase is also available for James (maybe
out-of-scope for you). As James is component-based (@see the
UidProvider interface in mailbox-store project), HBase could also be
responsible for the UID generation, such as Hazelcast could be...
More simply, you could even rely on a centrally generated UID such as
we do with JPA, but the deal is to let the other servers of the UID
because we store in memory in a Map the messages. So if you want to
inform the other servers of this event, you need a distributed event
system. And yes, there is the UIDVALIDITY which comes also in the
game...
So, there is still much to do in order to have a full James
distributed, so if you are looking for a out-of-the-box solution, it's
too early. If you are interested to invest some time to help, we will
also help :) The first step would be a design document with all the
constraints. The solution will come from it self once the things are
sorted on paper.
Thx, Eric
We've decided to go with the database replication angle and are now
working on crocking the UID generation algorithm (we use the JPA
implementation) to use the 3 highest bits as a server ID tag. Yes, this
breaks the RFC. But we won't be using this server on the Internet and
it won't be used for e-mails - only voicemails.
--
Joshua M. Armstrong
Software Engineer
Centurion, Inc.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]