消息队列汇总(转)

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

时间: 2024-11-05 22:53:59

消息队列汇总(转)的相关文章

基于Redis实现分布式消息队列(汇总目录)

基于Redis实现分布式消息队列(1)– 缘起 http://blog.csdn.net/stationxp/article/details/45595733 基于Redis实现分布式消息队列(2)– 分布式消息队列功能设计 http://blog.csdn.net/stationxp/article/details/45596619 基于Redis实现分布式消息队列(3)– Redis功能分析 http://blog.csdn.net/stationxp/article/details/457

大型网站架构系列:消息队列(二)

本文是大型网站架构系列:消息队列(二),主要分享JMS消息服务,常用消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka).[第二篇的内容大部分为网络资源的整理和汇总,供大家学习总结使用,最后有文章来源] 本次分享大纲 消息队列概述(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息队列应用场景(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息中间件示例(见第一篇:大型网站架构系列:分布式消息队列(一)) JMS消息服务 常用消息队列 参考(推荐)资料 本

大型网站架构系列:消息队列(二) (转)

本文是大型网站架构系列:消息队列(二),主要分享JMS消息服务,常用消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka).[第二篇的内容大部分为网络资源的整理和汇总,供大家学习总结使用,最后有文章来源] 本次分享大纲 消息队列概述(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息队列应用场景(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息中间件示例(见第一篇:大型网站架构系列:分布式消息队列(一)) JMS消息服务 常用消息队列 参考(推荐)资料 本

Netty构建分布式消息队列实现原理浅析

在本人的上一篇博客文章:Netty构建分布式消息队列(AvatarMQ)设计指南之架构篇 中,重点向大家介绍了AvatarMQ主要构成模块以及目前存在的优缺点.最后以一个生产者.消费者传递消息的例子,具体演示了AvatarMQ所具备的基本消息路由功能.而本文的写作目的,是想从开发.设计的角度,简单的对如何使用Netty,构建分布式消息队列背后的技术细节.原理,进行一下简单的分析和说明. 首先,在一个企业级的架构应用中,究竟何时需引入消息队列呢?本人认为,最经常的情况,无非这几种:做业务解耦.事件

大型网站架构系列:分布式消息队列(二)

本文是大型网站架构系列:消息队列(二),主要分享JMS消息服务,常用消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka).[第二篇的内容大部分为网络资源的整理和汇总,供大家学习总结使用,最后有文章来源] 本次分享大纲 消息队列概述(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息队列应用场景(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息中间件示例(见第一篇:大型网站架构系列:分布式消息队列(一)) JMS消息服务 常用消息队列 参考(推荐)资料 本

消息队列使用实战

Redis和消息队列使用实战 消息队列是在乐视这边非常普遍使用的技术.在我们部门内部,不同的项目使用的消息队列实现也不一样.下面是支付系统的流转图(部门兄弟画的,借用一下): 从图中可以看到,里面用到了kafka消息队列.作用是做数据库分库分表后的聚合,异步汇总到一张总表.里面也用到了redis,用来处理高并发下的订单重复提交.我们这边还使用了公司统一集群的apache qpid消息队列,是AMQP的一个实现,主要用于不同部门间的通信.一般的大公司都会有一些公司统一的集群,但是这种统一集群对开发

RabbitMQ (消息队列)专题学习03 Work Queues(工作队列)

一.概述 工作队列(Work queues) (使用Java客户端) 在前面的专题学习中,我们使用Java语言实现了一个简单的从名为"hello"的队列中发送和接收消息的程序,在这部内容中我们将创建一个工作队列被用来分配定时消息任务,而且通过多个接收者(工作者)实现. 工作队列(又名任务队列),主要的思想是为了避免立即做一个资源密集型的任务(多消息同时密集发送),不必等待它完成,当运行许多工作者的让任务都在她们之间共享. 它在web应用中是非常有用的,因为在很短的时间内http请求窗口

(转)如何用消息队列来代替分布式事务

转自:http://blog.csdn.net/ss123465/article/details/7964184 由于数据量的巨大,大部分Web应用都需要部署很多个数据库实例.这样,有些用户操作就可能需要去修改多个数据库实例中的数据.传统的解决方法是使用分布式事务保证数据的全局一致性,经典的方法是使用两阶段提交协议. 长期以来,分布式事务提供的优雅的全局ACID保证麻醉了应用开发者的心灵,很多人都不敢越雷池一步,想像没有分布式事务的世界会是怎样.如今就如MySQL和PostgreSQL这类面向低

大型网站架构系列:消息队列(二)(转)

大型网站架构系列:消息队列(二) 本文是大型网站架构系列:消息队列(二),主要分享JMS消息服务,常用消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka).[第二篇的内容大部分为网络资源的整理和汇总,供大家学习总结使用,最后有文章来源] 本次分享大纲 消息队列概述(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息队列应用场景(见第一篇:大型网站架构系列:分布式消息队列(一)) 消息中间件示例(见第一篇:大型网站架构系列:分布式消息队列(一)) JMS消息服务