2004-06-30

So I'm checking out the latest version of Jabberd right now, 2.0s3. We are currently running version 1.4.2 at my company. We have about 80 concurrent users distributed throughout the world (I can say that with a straight face now that we have a London office). This version works fine, however this past week the daemon has died twice in the middle of the day. Oddly, I was logged into the server at the precise moment it died. There was nothing logged and as soon as I restarted it all the clients (which are mostly Exodus) automatically reconnected and I bet half my users didn't even notice.

Anyway, when it happened that first time I just thought it was a fluke...the daemon had been running like a top for over a year so I can't really complain. When it happened again the very next day, I went and downloaded the 2.x version of jabberd and started installing it on one of our utility servers in the data center. I need to move jabberd off of our current utility server which is a four year old PowerEdge 1300 single proc P3-733 MHz with *cough* 128MB of memory. I'd like to bump it up to a gig of memory and slap another processor in it, but our strict IT procurement policy forces us to let our 1+ year old hardware collect dust while we purchase a half dozen 2-way 2650's with 4GB of RAM. Who am I to argue?

So I installed the 2.x version of jabberd on this dual proc Xeon 2.4 GHz box with a gig of RAM that's also hosting our intranet site. Overkill you scoff? Balderdash! Hey, at least we can scale up when we take over the world. Speaking of scaling, jabberd 2.x was rewritten and has several cool new features that my current version is lacking.


  • Has support for Server-to-Client, Server-to-Server (Native), and Server-to-Server (Foreign) communications
  • The jabberd "server" is now distributed across five separate components

    1. Router
    2. Server to Server
    3. Resolver
    4. Session Manager
    5. Client to Server

  • Can use a relational database for storage of Jabber Data Objects (defaults to MySQL support)
  • Installer script seems less "kludgy"
  • All the communications between the above components can be encrypted using SSL


I have a handful of beta-testers right now, and so far it is very stable, and seems like it will be able to handle 100 times more traffic than our little company will ever be able to generate. Stay tuned for an update on my migration strategy. (I'm going to connect the old 1.4 server to the new 2.0 server and slowly migrate users onto the new one while (hopefully) keeping all their buddy lists and groups)

No comments: