Sheet1
Name client License History Message Transport Java implementation of zeromq JeroMQ Java GNU LGPL library
MSMQ C++, Visual Basic, .NET, Part of OS Windows since 1997
Currently only beta, version 0.6. Nanomsg 23 languages Apache License 2.0 released ul 2015
C# implementation of zeromq, NetMQ C# GNU LGPL version 3.3.2.1. released sep 2015 Ruby, Go, Java, CoffeeScript, Python, Resque Clojure MIT license stable release 2013 Python, Cyclone, Ruby, RestMQ Erlang BSD license stable release may 2015 GNU LGPL v3, or commercial license stable release 2015, community Sidekiq Ruby, HTTP for business growing IMatix, 2008, first version; 2011 mass produced, latest release aug ZeroMQ 30+ languages LGPL 2015 Message Broker
Apache ActiveMQ 20+ languages Apache License 2.0 latest release 2015
Apache Apollo Java, Scala Apache License 2.0 latest release 2015
Apache Kafka 17+ languages Apache License 2.0 Version 0.9, nov 2015
C++, Perl, Python, Ruby, .NET, C, Java, JavaScript, Apache Qpid PHP Apache License 2.0 Version 0.3, sep 2014
Darner C, C++ Apache License 2.0 Stable release mar 2013
EagleMQ C BSD stable release 2013 ejabberd Erlang GNU GPL v.2 Latest commit dec 2015
FFMQ Java GNU LGPL v3 Latest release 2013
RedHat, 2009, current version HornetQ Java Apache License 2.0 2013
Page 1 Sheet1
IBM Websphere C, Visual Basic, .NET, C++, Various IBM IBM, 1990's, latest MQ V8 released in MQ Java, JMS, ActiveX licences 2014
OW2, 1999, latest release may JORAM Java, XML, 13+ others LGPL 2015
Kestrel ASP.NET, Java Apache License 2.0 2.4.1 released nov 2012
MemcacheQ Perl, Python, C, BSD license ~2009, version 0.2.0. Since 2009, stable releast sep Mosquitto C, C++, Python, javascript BSD license 2015 GlassFish, 2008, stable release OpenMQ Java, C CDDL or GPL v2 2014
LShift and CohesiveFT in 2007, Java, Ruby, Python, .NET, acquired in 2010 by SpringSource, PHP, Perl, C/C++, Node.js, division of VMware. The project Go, Erlang, Haskell, Ocaml, Mozilla Public became part of GoPivotal in May RabbitMQ Lisp, COBOL, JavaScript, License 2013. Latest release July 2015
Redis ~38 languages BSD license Stable release sep 2015
Stable release v3.2.6, 2015. Documentation only available in RocketMQ Java Apache License 2.0 Chinese. Created 2008 in Twitter.Latest Starling memcache, Ruby MIT license commit 2011
.NET, Java, C, Perl, PHP, SwiftMQ evaluation 1990, Germany. IIT Software SwiftMQ Python, Ruby license 2.0 GmbH Integration Framework Java, XML, Groovy, Scala, Kotlin. Domain-specific Version 2.16.0., oct 2015. Used by Apache Camel language Apache License 2.0 Jboss, FuseSource, talend CPAL license – UI tools, domain-specific community or Mule ESB languages Enterprise Version 3.7.0., 2015, MuleSoft Java, XML, Scala, Groovy. Spring Integration Domain-specific languages, Version 4.2.2., 2015, Pivotal Framework GUI Apache License 2.0 Software, Inc. Enterprise Service Bus
Apache domain-specific languages, ServiceMix Spring, XML Apache License 2.0 Version 6.1.0., 2015 Java, JavaScript, Ruby, Apache Synapse Groovy, Scala Apache License 2.0 Version 2.1.0., 2012
Page 2 Sheet1
Fuse ESB Java Apache License 2.0 Stable release version 6, dec 2015
IBM Integration 1990, Germany. IIT Software Bus GUI IBM proprietary GmbH Java, JBoss developer Jboss community project, latest Switchyard studio Apache License 2.0 release 2015
TIBCO C, C++, Java,Visual BASIC, Created by Talarian, bought by Rendezvous Perl, .NET TIBCO proprietary TIBCO. Version 8.4.4., 2015
WSO2 ESB Java, GUI Apache License 2.0 Version 4.9.0., sep 2015 Integration suite
Oracle Fusion Middleware Java, GUI proprietary Current version 12.2.3 Red Hat End User Red Hat JBoss License BPM Suite Java, GUI Aggreement Current version 6.2, part of Jboss Founded 1996, absorbed by Software AG Software AG Software AG. Now part of webMethods Java, C, C++ proprietary Software AG bundle
Talend Data Apache License 2.0, Uses Kafka. Talend corporation‘s Fabric GUI or proprietary main product. other
Beanstalkd 20+ languages MIT license Latest release aug 2014
Celery Depends on Api BSD license Stable release sep 2015
Gearman 10+ languages BSD Stable release dec 2014
NSQ 20+ languages MIT license Version 0.3., sep 2015 First release 1998, University of Colorado project. Backed by US GNU GPL v.3 or Air Force dept. Of Science. Latest SIENA Java, C++ higher release may 2015 Cloud based
Java, Ruby, Python, .NET, Amazon SQS PHP, JavaScript Apache License 2.0 Amazon, 2004
Ruby, PHP, Python, Java, Go, .NET, Node.js and Founded 2011, iron.io. Products: IronMQ more Iron.io proprietary IronWorker, IronMQ
Page 3 Sheet1
Microsoft Azure .NET, Node.js, Java, Ruby, Microsoft Service Bus Python, PHP proprietary Microsoft, 2010
Apache Software Hermes Swing GUI License Latest update 2013
Company founded in 1993, Cloud Informatica Ultra Informatica support programme started in Mesaging C, .NET, Java proprietary 2006
OpenAMQ Python, Java, Ruby, C Latest release 2010
Mozilla Public StormMQ unknown License 2009, Cloud servicing
Crossroads I/O - - -
IBM WebsSphere service scheduled to be ESB IBM proprietary discontinued by 2018
Jboss ESB GUI LGPL v2.1 Lastest release 2013
Kestrel Scala Apache License 2.0 Stable release nov 2012
Last update 2013. Site up but Mantaray mq C++, Java, C# MPL license download not working.
NETS 12 languages Apcera corporation, Around 2000, page last updated OpenJMS Java Open Source 2007, only beta
Sparrow memcache, Ruby MIT license Copyright from 2008
SmartMQ Java Open Source Last update 2013
Page 4 Sheet1
Pricing OS Native API Language Notes free Windows, UNIX zmq API Java zeromq client
Part of OS Part of message queue, Windows Windows C++ or COM Windows part of Windows socket library, improvement on free Windows, UNIX nanomsg C API C ZeroMQ
zeromq free Windows,UNIX zmq API C# reimplementation
Redis-based Ruby free UNIX Ruby library Ruby library message queue, free UNIX REST Ruby redis-based free or $750/year Redis-based Ruby (pro) UNIX Ruby library Ruby library for Rails
socket library, free Windows, UNIX zmq API C++ flexible
Free Windows, UNIX JMS, CMS, NMS Java message broker message broker, improvement on Free Windows, UNIX JMS Scala ActiveMQ log aggregation solution, can be used as message Free Windows, UNIX Kafka API Scala broker
Java, C++, message broker, full Free Windows, UNIX JMS, Proton Python AMQP free OSX, UNIX C++ library C++ Message broker free Linux C library C Message broker
Mac OS X, free Windows, Linux Erlang library Erlang Message broker message broker, JMS-based, free Windows, UNIX JMS Java lightweight
JMS API, Hornet free Works on JMS API Java message broker
Page 5 Sheet1
Free for developers, otherwise $ UNIX, Linux, IBM MQI, JMS 30 - 112 Windows API Java Message broker free Windows, UNIX JMS API Java Message broker
Scala Kestrel free Windows, UNIX API Scala Message broker depends on memcache free UNIX Memcache API used message broker Windows, free UNIX, Linux C library C message broker Windows, free UNIX, Solaris JMS API Java message broker Windows, Debian, Ubuntu, Fedora, RHEL, UNIX, Solaris, APIs for various free Mac OS X languages Erlang message broker
data structure store – database, cache, free UNIX, Linux Redis API C message broker
UNIX, Linux, free Windows JMS API Java message broker free UNIX, Windows Ruby library Ruby message broker
Various Windows, products UNIX, Linux JMS Java message broker
Enterprise Camel routes via Integration free Windows, UNIX Fuse IDE GUI Java Framework Enterprise free, paid Integration support Windows, UNIX Mule Studio Java Framework Enterprise Integration free Windows, UNIX Spring Java Framework
Enterprise Service Bus, unifies ActiveMQ, Camel, free Windows, UNIX OSGi Java CXF, Karaf Enterprise Service free Windows, UNIX REST API Java Bus
Page 6 Sheet1
Windows, Enterprise Service free UNIX, Linux OSGi, JBI Java Bus developer Configuration Enterprise Service edition free Windows, UNIX Manager Proxy Java Bus Enterprise Service free Windows, UNIX Switchyard API Java Bus free trial, after that, Windows, VMS, Enterprise Service paid UNIX, MVS TIBCO API Java Bus Enterprise Service free Windows, UNIX WSO2 API Java Bus
Windows, free for UNIX, Linux, developers OSX JMS API Java Integration suite free for developers Windows, UNIX Jboss API Java Integration suite commercial product Windows, UNIX JMS API Java Integration suite free for developers, Windows, paid UNIX, OSX, otherwise Linux talend API Java Integration suite
UNIX, Linux, free Mac Beanstalk API C task queue Celery Calling free UNIX API Python task queue
free linux Gearman API C task queue
Web UI nsqadmin, NSQ Distributed free OSX, UNIX API Go messaging platform
Event Notification free UNIX, Linux Siena API Java Architecture
message queueing Usage-based service, AWS payment Cloud-based Amazon API unknown account necessary Free or $30 (developer) – 500 (dedicated cluster) Iron API, message queueing /month Cloud-based dashboard Go service
Page 7 Sheet1
Usage-based Cloud-based Enterprise Service payment server .NET .NET Bus free JMS GUI - Java GUI for JMS Part of the Informatica Data integration Windows, JMS-based cloud bundle Linux, UNIX JMS API Java queueing services Windows, Linux, AIX, Solaris, Mac OS/X, UNIX JMS API Free for up to 5 connected StormMQ API, message queueing clients Cloud-based SQL compatible Java service
- - - - Site down
Enterprise Service Windows, UNIX JMS API unknown Bus Windows, Ulinux, Unix, Enterprise Service free OS X Java Bus free UNIX JVM Scala message queue
Windows, serverless transport free Linux, Solaris JMS API Java layer (P2P) depends on client language Ruby free Windows, UNIX OpenJMS API Java JMS implementation free UNIX JMS API Ruby message broker unknown, probably anything with free Java JMS j2se Java
Page 8 Sheet1
Website Active/Inactive SSL support Clustering https://github.com/zeromq/jero mq Active NO YES https://msdn.microsoft.com/en - us/library/ms711472(v=vs.85). aspx Active NO YES http://nanomsg.org/ Active NO YES http://netmq.readthedocs.org/e n/latest/ Active YES possible with NanoCluster https://github.com/resque/resq ue Active YES with plugin http://restmq.com/ Active YES not applicable http://sidekiq.org/ Active NO YES http://zeromq.org/ Active NO YES
Master/slave, Network of Brokers, Store and http://activemq.apache.org/ Active YES Forward https://activemq.apache.org/ap ollo/ Active YES Mirrored queues
Partitioned and replicated https://kafka.apache.org Active YES by default
https://qpid.apache.org/ Active YES Active-active https://github.com/wavii/darner Active NO YES https://github.com/yakushstani slav/EagleMQ Active NO NO https://www.ejabberd.im/ Active YES YES http://timewalker74.github.io/ff mq/ Active YES NO Client-side load balancing, server http://hornetq.jboss.org/ Active YES discovery, good stuff
Page 9 Sheet1 http://www- 03.ibm.com/software/products/ en/ibm-mq Active YES Networks of brokers, HA Load balancing and failover mechanisms, http://joram.ow2.org/ Active YES otherwise just JMS http://twitter.github.io/kestrel Active NO YES, but no coordination http://memcachedb.org/memc acheq/ Active YES NO http://mosquitto.org/ Active YES Naive round-robin https://mq.java.net/downloads/ index.html Active YES YES
https://www.rabbitmq.com/ Active YES Federation, mirroring
http://redis.io/ Active NO YES
https://github.com/alibaba/Roc ketMQ Active NO Unknown https://github.com/starling/starl ing Active NO NO http://www.swiftmq.com/ Active YES YES
http://camel.apache.org/ Active https://www.mulesoft.com/platf orm/enterprise-integration Active http://projects.spring.io/spring- integration/ Active
http://servicemix.apache.org/ Active http://synapse.apache.org/ Active
Page 10 Sheet1 www.jboss.org/products/fuse/overviewActive www- 03.ibm.com/software/products/ cs/ibm-integration-bus Active http://switchyard.jboss.org Active http://www.tibco.com/products/ automation/enterprise- messaging/rendezvous Active http://wso2.com/products/enter prise-service-bus/ Active https://www.oracle.com/middle ware/index.html Active http://www.jboss.org/products/ bpmsuite/overview/ Active http://www.softwareag.com/cor porate/products/az/webmetho ds/ Active https://www.talend.com/produc ts/data-fabric Active http://kr.github.io/beanstalkd/ Active NO Not default http://docs.celeryproject.org/en /latest/index.html Active YES YES
http://gearman.org/ Active YES YES
http://nsq.io/ Active YES YES http://www.inf.usi.ch/carzaniga /siena/ Active YES NO
https://aws.amazon.com/sqs/ Active YES YES
http://www.iron.io/mq/ Active YES YES
Page 11 Sheet1 http://azure.microsoft.com/en- us/services/service-bus/ Active YES YES
Unknown, site http://www.hermesjms.com/ down https://www.informatica.com/pr oducts/data-integration/real- time-integration/ultra- messaging.html#fbid=ZbFgirS P5hC Unknown
Unknown http://stormmq.com/ unknown https://github.com/crossroads- io Inactive http://www.ibm.com/developer works/websphere/library/techa rticles/1303_pisal/1303_pisal.h tml Inactive http://jbossesb.jboss.org Inactive http://robey.github.io/kestrel/ Inactive http://spacebug.com/mantaray _open_source_jms.html Inactive https://nats.io/ Inactive http://openjms.sourceforge.net / Inactive https://code.google.com/p/spar row/ Inactive http://sourceforge.net/projects/ smartmq/ Inactive
Page 12 Sheet1
Protocol Transaction support Default storage
ZMTP NO NONE
MSMQ YES SQL database
TCP, IPC, INPROC YES NONE
ZMTP YES NONE
resque NO Redis
HTTP + JSON NO Redis
HTTP REST YES Redis
ZMTP NO NONE
AMQP, AUTO, MQTT, OpenWire, REST, RSS, KahaDB, Atom, STOMP, WSIF, WS Notification, XMPP YES LevelDB
STOMP, AMQP, MQTT, OpenWire YES BDB, LevelDB
TCP-based proprietary YES Logs on disk
Apache Derby, AMQP YES Oracle BDB
Same as Kestrel NO LevelDB disk storage, custom NO no database
XMPP YES Mnesia
disk storage, TCP-based YES no database
CORE, AMQP, STOMP YES Hornet journal
Page 13 Sheet1
WebSphere transport protocol using SOAP or Oracle DB, XML YES DB2
AMQP, STOMP YES MySql, JDBC
disk storage, memcache, thrift NO no database memcache NO BerkeleyDB
MQTT NO mosquitto.db
STOMP, WebSocket YES JDBC
RabbitMQ AMQP, STOMP, MQTT, HTTP YES message store
Redis protocol YES Included
AMQP, MQTT YES unknown memcache YES log
AMQP YES JDBC
Page 14 Sheet1
Beanstalk (based on Memcache) NO binary log
Task Message Protocol v2 YES NONE Drizzle, memcache, SQLite, Gearman protocol YES PostgreSQL
NSQ-protocol YES unknown
TCP, UDP NO NONE
NO, but workarounds HTTP REST possible SimpleDB
NO, but workarounds HTTP REST possible AuthDB
Page 15 Sheet1
Microsoft SQL - - server
Page 16 Sheet1
Message filtering Use Case
As ZeroMQ, but for Java
Applications dependent on SQL, communicating over HTTP, insensitive data
As ZeromMQ, but has better connectivity and protocol support.
.NET implementation of ZeroMQ.
Distribution of Jobs at the background of a Ruby application. Possible to add pub/sub through a plugin.
Distribution of Ruby application components plugin for pub/sub form Rails Distribution of Ruby application components
Simple and fast delivery of insensitive data. Many different architectures can be built off of it.
Transactional messaging, High-performance market data distribution, clustering, web data streaming, JMS selectors, content-based routing RESTful HTTP
JMS selectors idem
Messaging, Website Acivity Tracking,Log Aggregation, Partitioned topics, consumer groups Stream Processing, Event Sourcing, Commit Log
JMS selectors, content-based routing High Volume Transient Broker Keeps messages out of process. For very large queues ? (more than what can be held in the RAM).
Protocol-based routing Small projects. Not a lot of support.
Large mobile networks (Whatsapp), gaming, social multicast content-based routing networks, video messaging, internet of things
JMS selectors, content-based routing Fast, lightweight, simple. Distributing jobs to workers.
Enterprise integration, part of Jboss server. For big JMS selectors, content-based routing projects
Page 17 Sheet1
Enterprise integration with IBM service bus, or as a MOM system (expensive, but with good technical JMS selectors, content-based routing support)
JMS selectors, content-based routing Integration of messaging into an OSGi-based framework none Message queueing between application components
Memcache multicast Small projects. Fast, memcache-compatible, simple.
MQTT pub/sub Low-power sensors and mobile devices.
JMS selectors, content-based routing JMS provider for the GlassFish server.
Messaging platform for distributed applications. Relatively high overhead, but good community support routing keys and easy for work.
Cases where the entire data set can fit into memory. Pattern-matching subscriptions Database with messaging.
JMS selectors, RocketMQ filters Message broker implementation. Docs only in Chinese. plugin for pub/sub for Rails Slow compared to others, „fast enough“
Enterprise message-oriented middleware with corporate JMS selectors, content-based routing support
Page 18 Sheet1
Round-robin distributing small tasks to workers Distributing tasks to worker nodes. Requires a broker to Round-robin work.
Round-robin Distributing tasks to worker nodes.
multicast REST integration, distributed systems communication
p2p Sensor networks. Passing of packets on a p2p basis.
When hardware solution is impossible, ASQS provides messaging through the internet. Web crawling, mobile JMS selectors, content-based routing computing, cloud scheduling
Integration, processing with IronWorker, Web crawling, mobile computing, cloud scheduling. Available both as a multicast service in the cloud and on-premise.
Page 19 Sheet1
- Integrating multiple Microsoft services
Page 20