消息队列汇总

add by zhj: 文中不仅列出了最常用的MQ,而且还列出了一些文章,分享使用的经验,值得一看

原文:http://queues.io/

About

There are many queueing systems out there. Each one of them is different and was created for solving certain problems. This page tries to collect the libraries that are widely popular and have a successful record of running on (big) production systems.

The goal is to create a quality list of queues with a collection of articles, blog posts, slides, and videos about them. After reading the linked articles, you should have a good idea about: the pros and cons of each queue, a basic understanding of how the queue works, and what each queue is trying to achieve. Basically, you should have all the information you need to decide which queue will best fit your needs.

The whole site is open source and is updated quite frequently. If you find any mistakes or see something missing, feel free to post an issue or send a pull request. All contributions are welcome! Thanks.

Projects

ActiveMQ

http://activemq.apache.org/

  • JAVA

Apache ActiveMQ ™ is the most popular and powerful open source messaging and Integration Patterns server.

Resources

Apollo

http://activemq.apache.org/apollo/

  • JAVA
  •  
  • AMQP

ActiveMQ's next generation of messaging.

Resources

Beanstalkd

http://kr.github.io/beanstalkd/

  • C

Beanstalkd is a simple, fast work queue.

Resources

Celery

http://www.celeryproject.org/

  • PYTHON

Distributed Task Queue

Resources

Crossroads I/O

http://www.crossroads.io/

  • C
  •  
  • ZEROMQ

Crossroads I/O ('libxs') is a library for building scalable and high performance distributed applications. It fits between classic BSD sockets, JMS/AMQP-style message queues, and enterprise message-oriented middleware.

Resources

Darner

https://github.com/wavii/darner

  • CPP

simple, lightweight message queue

Resources

Delayed::Job

https://github.com/collectiveidea/delayed_job

  • RUBY
  •  
  • MYSQL

Database based asynchronously priority queue system

Resources

Gearman

http://gearman.org

  • C

Gearman Job Server

Resources

HornetQ

http://www.jboss.org/hornetq

  • JAVA
  •  
  • AMQP
  •  
  • JMS

An open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system.

Resources

IronMQ

http://www.iron.io/mq

  • GO
  •  
  • SERVICE

IronMQ is an easy-to-use highly available message queuing service. It is available as a cloud service on Amazon and Rackspace as well as on-premise with Iron.io's enterprise offering. Features include a nice dashboard to manage queues, easy to create webhooks, unicast and multicast Push Queues, autoscaling alerts for worker processes, and error queues.

Resources

Apache Kafka

http://kafka.apache.org/

  • JAVA

Apache Kafka is publish-subscribe messaging rethought as a distributed commit log.

Resources

Kestrel

http://robey.github.io/kestrel/

  • SCALA

simple, distributed message queue system

Resources

nanomsg

http://nanomsg.org/

  • C
  •  
  • ZEROMQ

nanomsg is a socket library that provides several common communication patterns

Resources

NSQ

https://github.com/bitly/nsq

  • GO

realtime distributed message processing at scale

Resources

Apache Qpid

http://qpid.apache.org/

  • JAVA
  •  
  • AMQP
  •  
  • CPP

Apache Qpid™ makes messaging tools that speak AMQP and support many languages and platforms (in C++, Python, Java JMS and .NET)

Resources

queue_classic

https://github.com/ryandotsmith/queue_classic

  • RUBY
  •  
  • POSTGRES

Simple, efficient worker queue for Ruby & PostgreSQL.

Resources

RabbitMQ

http://www.rabbitmq.com/

  • ERLANG
  •  
  • AMQP

Robust messaging for applications

Resources

Resque

http://resquework.org/

  • RUBY
  •  
  • REDIS

A rock-solid job queue, written in Ruby, backed by Redis.

Resources

RestMQ

http://restmq.com/

  • PYTHON
  •  
  • REDIS

RestMQ is a message queue which uses HTTP as transport, JSON to format a minimalist protocol and is organized as REST resources. It stands on the shoulder of giants, built over Python, Twisted, Cyclone (a Tornado implementation over twisted) and Redis.

Resources

RQ

http://python-rq.org/

  • PYTHON
  •  
  • REDIS

RQ (Redis Queue) is a simple Python library for queueing jobs and processing them in the background with workers

Resources

Sidekiq

http://sidekiq.org/

  • RUBY
  •  
  • REDIS

Simple, efficient background processing for Ruby.

  • Based on Redis
  • Multithreaded, employs Celluloid under the hood
  • Web UI
  • Resque Compatibility
  • Sidekiq Pro - paid version ($750) with support and additional features (batches, notifications, reliability, metrics)
  • Fast growing community

Resources

SQS - Amazon Simple Queue Service

http://aws.amazon.com/sqs/

  • SERVICE

Amazon Simple Queue Service (SQS) is a fast, reliable, scalable, fully managed queue service.

Resources

Zaqar (ex Marconi)

https://wiki.openstack.org/wiki/Zaqar

  • OPENSTACK
  •  
  • PYTHON
  •  
  • MONGODB
  •  
  • SQLITE
  •  
  • DURABLE

Zaqar is a queuing and notification service made by and for OpenStack, but not only for it

Resources

ZeroMQ

http://www.zeromq.org/

  • CPP

The Intelligent Transport Layer

Resources

你可能感兴趣的:(消息队列)