[JDEV] Jabberd in a distributed environment.

Michael Hughes mike at smallmouth.probass.com
Tue Sep 10 19:55:41 CDT 2002

I am interested in using Jabber in a large distributed environment.  I 
already have a multi-tiered architecture that is used for software 
delivery and supports a user base of approx. 200,000 users.  It consists 
of 3 tiers,
1 Central server
10 2nd tier servers that are located at network access points.  All are 
hidden behind a single DNS Round Robin.
400+ 3rd tier servers that are located at client locations.  User to 
server ratio is limited to a max of 1000 to 1.  
All current clients and servers are wintel, and run JRE 1.3.1.   Servers 
are a minimum of Dual PIII 500 with 512MB Ram.  In the future clients 
and servers will also be run on an assortment of unix flavors so Java is 
an absolute must.

For software distribution, clients contact the 2nd Tier, and are 
redirected to the best available 3rd tier servers automatically based on 
network subnet.  This assignment information is stored on the client 
machine and would be available for my Jabber client.  This being the 
case, there would be no problem handling the redirection, load 
balancing, or fail over from the client perspective.  This approach is 
old hat for us and has proven to be a very reliable approach for 
gathering data and sending it upstream, or downloading and installing 
code updates.

What I am contemplating is using Jabber to provide real time presence 
data, as well as a method for delivery of commands to the remote clients 
from a central location.  The client portion of this looks very 
straightforward and I see little problem with coding a client in java to 
facilitate this portion of the project.

The server portion however does not look so straight forward.  There 
seems to be no Java based server components other than for web servers. 
 Also there seems to be little information about use of Jabber in a 
distributed environment such as this.  Thus far I have found little 
detailed information on server 2 server communications, or how client 
information is stored, or how the one would go about locating clients 
that are nested several servers deep.

Any thoughts or feedback on this project would be greatly appreciated.

Michael Hughes

More information about the JDev mailing list