First Class 24×7 ActiveMQ Support – 866.608.8587
Random header image... Refresh for more!

ActiveMQ vs. Jabber XMPP

boxing2

Responding to a blog entry by Stephan Schmidt (@codemonkeyism on twitter). Stephan compares the Jabber and ActiveMQ to decide which one suits better his projects needs. While both products fulfill the asynchronous messaging criteria, they have been designed and built for substantially different purposes. Below are some guidelines when to use ActiveMQ or other enterprise messaging products such as JBoss Messaging or WebSphere MQ.

Use Enterprise Messaging if project requires:

  • Transactional Support
  • Message Persistence and Media Recovery (Transactional Logs)
  • Large Messages (4MB+)
  • Competing Consumers
  • Coded Character Set Conversions
  • Clustering
  • Blocking (Non-polling wait)
  • Storing potentially millions of messages on the queue
  • Message Expiration
  • Multiple Qualities of Server
  • Server-to-Server Channels
  • Hierarchical Publish Subscribe Topic Namespace
  • FIFO or Priority Queues

Use Jabber or other instant messaging protocol when you’re building a chat application. Yes. It is that simple. Here are good indicators using Jabber might be ok are:

  • Messages have no or minimal business value. (They are not business transactions)
  • Messages are small
  • Transactional support is not necessary
  • You need a simple transport(HTTP) that can work across VPN’s, Proxies and Firewalls.
  • Messages have no affinity.
  • Simple Message Patterns (One-to-one, One-to-many)

November 7, 2009   No Comments