XMPP Component Scaling

November 7, 2008

Someone asked about how to handle heavy loads on ejabberd servers, and an interesting discussion ensued. Most of the discussion is applicable to any XMPP server, but as I pointed out in the thread, ejabberd has some nice features for component scaling. The main router in ejabberd will round-robin load balance components that connect with the same JID.

The load balancing is simple, but it could be useful in a number of situations. It would be even better if ejabberd implemented this in a module and had hooks so that people could implement their own load balancers. I can imagine writing a nice custom balancer that queried the components and spread load to the most lightly loaded ones first.

Jabberd2 didn’t have anything this fancy, but I wonder if any of the other big XMPP servers have such a thing.

:EXTENDED:

XMPP Component Scaling - November 7, 2008 - Jack Moffitt