Angie: Millions Users Instant Messaging

Posted by Mickaël Rémond on February 22, 2007

ejabberd is a high-performance, robust and scalable XMPP-based Instant Messaging Server. It was not enough for us and in a new serie of blog posts, we will describe what we are currently working on for the next ejabberd release. Angie is our internal codename for our program to move ejabberd to gigantic scale and make it able to suport millions of users in a single domain.

At ProcessOne, we have always been performance freaks. ejabberd is without a doubt one of the most scalable XMPP servers around and we have a strong reputation among our customers. Pedro Melo from SAPO (Portugal Telecom) has recently said that on his blog:

Ejabberd is the enterprise-class large scale deployment king. He keeps on working even when you throw at it indecent amounts of traffic.

In the same direction, we have choosen a very fast and responsive technology to develop OneTeam our web based XMPP client.

It was not enough for us. We have reached 600,000 simultaneously connected users in a benchmark, but we now want to increase the performance to be able to pass the 1 million users mark on the same hardware (We can probably go further, but we would need more machines).

image

Angie is our codename for ejabberd Next Generation (NG). In a series of upcoming articles we are going to present and explain the finished and planned optimisations for the next ejabberd releases. We put our focus on three directions:

  • Unmatched performance and scalability: We are a leading company in this field, but have started several optimisation and architectural changes to push the existing limits. This is important for Internet Service Providers, or large companies that need a robust and highly scalable infrastructure. Instant Messaging is now everywhere and there is a big demand from our customers to support insanely large domains.
  • Unmatched clustering features: ejabberd is the only server to support full fault-tolerance at the router domain. There is no single point of failure on the router, like it is the case in classical XMPP server architectures. We are working to improve and extend the clustering features to all our service and component stack.
  • Innovative features set: ejabberd is very often the first server to implement innovative features, coming from the XSF standardisation work. We are keeping the pace and will integrate more fundamental new features in the coming ejabberd versions.

Is that enough for a teasing article ? ;) I think so, so stay tuned !



Categories: Jabber / XMPP  ejabberd  

Comments

anonymous avatar

how is it with the ejabberd http-bind, how does it scale in comparison?
Regards
Elias

Posted by elias on 22 Feb 2007 at 18:50



 
Mickaël Rémond's avatar

Hello,

http-bind introduce system level load on the system. For any XMPP server, it will be less scalable.

However, ejabberd being writtent in Erlang, it will likely support http-bind very high load more happily than other servers (See the Apache versus Yaws benchmark comparison for example: http://www.sics.se/~joe/apachevsyaws.html). Moreover, part of our new architecture allow us to handle this load even better.

Do not forget that if you put this kind of architecture and deploy a standard Apache in front of ejabberd, Apache will probably die much much before ejabberd ;)

If you have a project in mind, maybe you should contact me privately to discuss your precise case.

Posted by Mickaël Rémond on 22 Feb 2007 at 19:01



 
anonymous avatar

Hi,

sounds nice and I hope that XEPs like XEP-0033 finally get into some bigger server base and it’s components. :)

/Tobi

Posted by Tobias Markmann on 22 Feb 2007 at 23:40



 
anonymous avatar

Who is using this system that requires such high loads? The only huge jabber install I know of is google and I’d be surprised if they didn’t write their own

Posted by James on 23 Feb 2007 at 18:05



 
Mickaël Rémond's avatar

Hello James,

Lots of companies are concerned, not only Google:
- Internet Service Providers for their end user customer or their enterprise customers.
- Application Service Providers, or any company that build an end user service. All this services are targetting at least tens of thousands of users and very often hundreds of thousands of users.
- Large companies that need to be sure they have a robust product that will not reach its limit. Having a very scalable, robust and proven product, is a way to prove that they can rely on the system.

Posted by Mickaël Rémond on 23 Feb 2007 at 19:43



 
anonymous avatar

Mickaël - Keep up the very excellent work. We love what you are doing and look forward to your next release. Many regards. - Jason

Posted by Jason on 11 Jul 2007 at 17:38



 
anonymous avatar

We have a huge interest in web scalable xmpp. Could you tell us a bit more about what was involved in this stress test, hardware etc? what were the limiting factors, and what you see the ultimate barriers to be to web scale (say 20-100 million) size performance.

Posted by Howard Bell on 17 Jul 2007 at 15:19



 
anonymous avatar

Secondary question, obviously once you get up to webscale, the performance of authorisation servers becomes critical. What in your opinion is the most scalable route on this? (for ejabberd)

http://www.amorvine.com/

Posted by Howard Bell on 17 Jul 2007 at 15:23



 
Mickaël Rémond's avatar

Hello Howard,

This is typically the kind of questions that I can answer if you contact me directly by email :)
This is too large a topic and it cannot accomodate a fast reply.

mremond@[thisdomain]

Posted by Mickaël Rémond on 17 Jul 2007 at 22:53



 
anonymous avatar

You can get me at Howard.Bell@  [amorvine.com], thanks…

Posted by Howard Bell on 10 Aug 2007 at 13:08



 


Add comment

Name:

Email:

URL:

Smileys

Remember my personal information

Notify me of follow-up comments?