Re: synchronize multiple James instances across servers
Benoit TELLIER <[email protected]> Sat, 8 Mar 2025 09:51:05 +0100
| Newsgroups | gmane.comp.jakarta.james.user |
|---|---|
| Message-ID | <[email protected]> |
Hello https://imapsync.lamiral.info/ is what we use at LINAGORA for email migration. SMTP traffic can also easily be duplicated but mailboxes will be desynchronized. Also I had a reference write up about multi-datacenter, quoted by friend of Aerospike at FOSDEM 2024 https://james.staged.apache.org/james-project/3.9.0/servers/distributed/architecture/consistency-model.html#_about_multi_data_center_setups Be sure to get a read of this document: the target setup mentionned is not achievable, at least with IMAP and the current code base. Best regards, Benoit On 08/03/2025 03:05, cryptearth wrote: > Hello there dear James devs and fellow James users, > > my hoster OVH currently offers me a great deal on VPSs for less than > 12 bucks a year (less than 1 buck per month) in several datacenters > around the world. I really tempt to get that deal as I have some ideas > to utilize multiple servers - having them around the world like in > Australia and Canada is just a bonus. > One thing I plan to implement is to setup James on each of the > servers. But then the question came up: How to synchronize them? > Currently I use my home server only as a backup without any > synchronization with my main root server. In fact: It's currently not > running due to some issues I have with my home server I have to fix > first before get James running again. > Now when scaling up to several servers around the world it would be > cool to take advantage of that by combine them with synchronization. > But as the additional systems are VPSs only I'd like to setup a > master-slave setup with each slave James on the VPSs sync up to the > master James on my powerful root server. > First I thought about fetchmail to at least pull in mails from the > slaves to the master - but fetchmail is only part of the deprecated > spring build. As I like to have my mailstorage in a database I would > like to keep using the guice-jpa build instead of switching the the > guice-distributed which doesn't use jpa and seems to be meant for use > with AWS S3 buckets. > I also could write some java code using the java mail api working in a > fetchmail way itself - but I'm unsure how to inject mails from other > servers properly into the main server so they do look like if they > were receive by the masterserver itself. > Could it be done by just synchronizing the MariaDB databases in the > background or would fiddle with the database while James is running > screw it up like the several counters for mails and mailboxes? > If James 3.x isn't suited for such a use case maybe that's something > to be considered for 4.0? Or is that too late into the current > development now and would delay a 4.0 release? > > I would like to explore this idea further to see if and how James can > be used in a distributed cluster like other mailers can. Building a > James mail server cluster sounds just cool - and seen from "well, big > companies like google have several hundrets to thousands mail servers > deployed around the glob all working together" it sure has to be > possible with James as well - as broken down it's just some listeners > on some server sockets with some database backend synchronized by a > message bus. This should be extendable across multiple servers. > > Have a nice weekend everyone. > > Greetings from Germany, > > Matt > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >