一、RabbitMQ – Robust Messaging for applications

Site: http://www.rabbitmq.com/
Implemenation: Erlang
Protocol: AMQP, STOMP
Platform: Windows, Linux, MAC OS
License: Apache

1.1、简介

RabbitMQ is a messaging broker – an intermediary for messaging. It gives your applications a common platform to send and receive messages, and your messages a safe place to live until received. It features include reliability, high availability, Clustering and Federation. RabbitMQ ships with an easy-to use management UI that allows you to monitor and control every aspect of your message broker. There are RabbitMQ clients for almost any language you can think of.

二、Apache ActiveMQ – Fastest MQ

Site: http://activemq.apache.org/
Implemenation: Java
Platform: OS-Independent
License: Apache
Protocol: Mutliple

2.1、简介

Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns provider. Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4.

三、Apache Apollo – ActiveMQ’s Next Generation of messaging

Site: https://activemq.apache.org/apollo/
Implemenation: Java
Platform: OS-Independent
License: Apache
Protocol: Mutliple

3.1、简介

ActiveMQ Apollo is a faster, more reliable, easier to maintain messaging broker built from the foundations of the original ActiveMQ. It accomplishes this using a radically different threading and message dispatching architecture. Like ActiveMQ, Apollo is a multi-protocol broker and supports STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets.

四、Apache Qpid – AMQP Enterprise Messaging Implementation

Site: http://qpid.apache.org
Implemenation: C++, Java
Platform: OS-Independent
License: Apache
Protocol: AMQP

4.1、简介

Apache Qpid implements the latest AMQP specification, the first open standard for enterprise messaging, and provides transaction management, queuing, distribution, security, management, clustering, federation and heterogeneous multi-platform support and a lot more.

五、ZeroMQ – Messaging Library

Site:http://www.zeromq.org/
Implemenation: C++
Platform: Windows, Linux
License: LGPL
Protocol: AMQP

5.1、简介

The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.

六、Apache Rocket MQ – Alibaba

Site:https://rocketmq.incubator.apache.org/
Implemenation: Java
Platform: OS-Independent
License: Apache
Protocol: JMS,MQTT

6.1、简介

Apache RocketMQ is a low latency, reliable, scalable, easy to use message oriented middleware born from alibaba massive messaging business.

It offers a variety of features as follows:

Pub/Sub and P2P messaging model
Reliable FIFO and strict sequential messaging in the same queue
Long pull queue model,also support push consumption style
Million message accumulation ability in single queue
Over a variety of messaging protocols.such as JMS,MQTT etc.
Distributed high available deploy architecture, meets at least once message delivery semantics
Docker images for isolated testing and cloud Isolated clusters
Feature-rich administrative dashboard for configuration,metrics and monitoring

七、Apache Kafka

Site:http://kafka.apache.org/
Implemenation: Scala
Platform: OS-Independent
License: Apache
Protocol: ?

7.1、简介

Kafka™ is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.

八、Hornetq – Enterprise Messaging

Site:http://www.jboss.org/hornetq
Implemenation: Java
Platform: OS-Independent
License: Apache
Protocol: AMQP, JMS

8.1、简介

HornetQ is the new ultra high performance enterprise grade messaging system from JBoss community. It is a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. It offers server replication and automatic client failover to eliminate lost or duplicated messages in case of server failure. It also provides a comprehensive management API to manage & monitor servers.

HornetQ supports STOMP (simple text oriented messaging protocol), JMS bridge, Client side load balancing, Duplicate message detection, Message expiration, Scheduled messages and lot more.

九、Celery – Distributed Task Queue

Site:http://www.celeryproject.org/
Implemenation: Python
Platform: Windows, Linux
License: BSD
Protocol: AMQP, JMS

9.1、简介

Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well. The execution units, called tasks, are executed concurrently on a single or more worker servers using multiprocessing, Eventlet, or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready).

十、MSMQ – Microsoft Messaging Queue (not Open Source)

Site: https://msdn.microsoft.com/en-us/library/ms711472(v=vs.85).aspx
Implemenation: C++
Platform: Windows

10.1、简介

Message Queuing (MSMQ) technology enables applications running at different times to communicate across heterogeneous networks and systems that may be temporarily offline. Applications send messages to queues and read messages from queues. The following illustration shows how a queue can hold messages that are generated by multiple sending applications and read by multiple receiving applications.