Hi there,
i am having a bit of a hard time to wrap my head around how
i would setup a network of jabber-servers that are spread all
over the world, allowing the users to decide what server they
connect to (or using geoip, or something similar) and preferrably
having one single domain name. Like this:
I have server 1 (s1.ex.org) in the usa and another server (s2.ex.org)
in asia. i would now like to connect both of these servers
together, so that every
in at s2.ex.org and vice versa. Now, internet connection between
the two of those is not very good and i would love to have
people logged in at s1.ex.org still talk to everyone logged in at
s1.ex.org and the same for s2.ex.org (the link is down, not the
machines).
So i figured that clustering is not the solution here, since the
link between the two servers would not be up all the time, thus
opening the door for database inconsistencies and other problems.
so i tried s2s, with accounts like
which seemed to solve all my problems, apart from that one user
should be abled to log-in everywhere with his account. but s1.ex.org
"of cource" would not do auth for s2.ex.org...
Additionally, when i would give people usernames like
let them specify where to connect to (s2.ex.org for example), how
would s1.ex.org know where to look for
to s2...given this is an s2s-only setup...
Now i went for route_subdomains, thinking that i could maybe let
s2.ex.org for auth, and then let the user in...or something to
that extend. is that what route_subdmains usually does? or am i
mixing something up here?
how does one design a setup like this? i would love to have the
ability of decentralization (for the weak links to asia) but also
some kind of "central" user database (like there is when clustering
single nodes)...is there a way to archive that? i hope so, since it
does not seem like a very obscure setup to me, does it?
openfire maybe?
This seems to be possible in OpenFire, right?
It seems that OpenFire can do clustering over
"weak links" by using an external database.
As I see you can use an external database with
ejabberd as well but the only way to cluster over
a "weak link" still is s2s, which would mean that
you have several domains...making it hard for server1
to know that user@server1 is logged in to server2
at the moment (which would be possible with a central
user-database of whatever kind).
I still somehow think "route_subdomains" might be
the solution, or do i hafve to use OpenFire?
Ok, after checking the
Ok, after checking the source-code-commentary in an older
version of ejabberd, route_subdomains seems ato be about
how to handle if one server hast two virtual hosts:
ex.org
j.ex.org
and you send a message fromuser@ex.org to user@j.ex.org .
route_subdomains seems to make sure that this will not
(or will definitely) result in a s2s connection (which may
be unneccessary).
So this does not seem to be a solution to the problem. Do I
really have to switch to OpenFire?