消息队列Queue大全
(http://queues.io/)
作业队列,消息队列和其他队列。几乎所有你能想到的都在这。
关于
那里有很多排队系统。他们每个人都不同,是为解决某些问题而创建的。这个页面试图收集广泛流行的库,并在(大)生产系统上运行成功。
我们的目标是创建一个包含文章,博客文章,幻灯片和关于他们的视频的高质量队列。阅读链接文章后,您应该清楚:每个队列的优缺点,对队列工作方式的基本了解以及每个队列尝试实现的内容。基本上,您应该拥有所有需要的信息来决定哪个队列最适合您的需求。
整个网站是开源的,并且更新频繁。如果您发现任何错误或缺失,请随时发布问题或发送拉取请求。所有的贡献,欢迎!谢谢。
热门项目
ActiveMQ
http://activemq.apache.org/
- JAVA的
Apache ActiveMQ™是最流行和最强大的开源消息传递和集成模式服务器。
资源
- 使用Apache ActiveMQ进行消息传递 - Bruce Snyder(video) vimeo.com
亚马逊简单队列服务(SQS)
http://aws.amazon.com/sqs/
- 服务
Amazon简单队列服务(Amazon SQS)是一个消息队列服务,用于处理系统中其他组件之间的消息或工作流。
资源
- 开发者指南:什么是Amazon Simple Queue Service? docs.aws.amazon.com
- 开发人员指南:教程 docs.aws.amazon.com
- API参考 docs.aws.amazon.com
- Beanstalkd作为工作队列的优点和缺点是什么?在Quora quora.com
- 用于Ruby github.com的超高效AWS SQS线程消息处理器
- Zend Framework与SQS适配器(PHP) framework.zend.com
apollo
http://activemq.apache.org/apollo/
- JAVA的
- 斯卡拉
- AMQP
ActiveMQ的下一代消息。
资源
- 阿波罗下一代消息队列帖子一些令人印象深刻的基准 infoq.com
- ActiveMQ Apollo slideshare.net 简介
- 介绍Apache Apollo:第一部分 christianposta.com
- 介绍Apache阿波罗:第二部分 christianposta.com
Beanstalkd
http://kr.github.io/beanstalkd/
- C
Beanstalkd是一个简单,快速的工作队列。
- 创建以提高Facebook应用程序的原因的响应时间。
- 用C写的非常快速和轻量级。
- 它提供了简单的协议,受memcached启发
- 队列具有O(log n)时间推送和弹出操作。
- 它可以以持久模式运行,将所有作业写入binlog。
- 长长的许多语言的客户端库列表
资源
- #243 Beanstalkd和追踪者 - RailsCasts railscasts.com
- Beanstalkd作为工作队列的优点和缺点是什么?在Quora quora.com
- Beanstalk消息队列 nubyonrails.com
celery
http://www.celeryproject.org/
- 蟒蛇
分布式任务队列
资源
- 使用Celery排队请求 blog.serverdensity.com
- Gilang Chandrasa(幻灯片) speakerdeck.com 介绍芹菜
- 芹菜 - 最佳实践 denibertovic.com
- 如何工作的Instagram饲料:芹菜和RabbitMQ blogs.vmware.com
darner
https://github.com/wavii/darner
- CPP
简单,轻量级的消息队列
资源
- Darner,Wavii的新队列服务器:速度快10倍,比 wavii.wordpress.com 小10倍
- Darner和RabbitMQ如何比较?在Quora quora.com
delayed_job
https://github.com/collectiveidea/delayed_job
- 红宝石
- MYSQL的
基于数据库的异步优先队列系统
资源
- #171延迟工作 - RailsCasts railscasts.com
- 延迟工作以后再做。 therailsway.com
- 在Rails salsify.com 延迟作业回调和挂钩
DISQUE
https://github.com/antirez/disque
- REDIS的
- DISQUE
内存中的分布式作业队列
资源
- dotScale 2015:Salvatore Sanfilippo介绍Disque youtu.be
- 破解黑客新闻news.ycombinator.com
- 消息队列中的冒险 antirez.com
Gearman
http://gearman.org
- C
Gearman作业服务器
资源
- 什么强大的Instagram:数百个实例,数十种技术 instagram-engineering.tumblr.com
- Gearman和ZeroMQ,两个不同的动物 speakerdeck.com
- Gearman:为Scale(Presentation)制作的Job Server slideshare.net
- 在Ubuntu上安装,配置和运行Gearman Job Server + PHP modernfidelity.co.uk
- 玩Gearman toy.lerdorf.com
- 关于使用Gearman与Python saltycrane.com的说明
HornetQ
http://www.jboss.org/hornetq
- JAVA的
- AMQP
- JMS
一个开源项目,用于构建一个多协议,可嵌入,高性能,集群的异步消息传递系统(捐赠给Apache ActiveMQ社区)。
资源
- 在Groupon engineering.groupon.com上构建分布式消息传递系统
- 利用Shopzilla slideshare.net上的HornetQ Message Broker
- 开始使用HornetQ 2.3 java.dzone.com
- HornetQ Apache捐赠和Apache Artemis 1.0.0发布 hornetq.blogspot.co.uk
huey
https://huey.readthedocs.org/en/latest/
- 蟒蛇
- REDIS的
- DJANGO的
一个小任务队列
资源
- 来源于GitHub github.com
- Huey是python charlesleifer.com的一个轻量级任务队列
IronMQ
http://www.iron.io/mq
- 走
- 服务
IronMQ是一个易于使用的高度可用的消息队列服务。它可以在亚马逊和Rackspace以及Iron.io的企业产品的内部提供云服务。功能包括一个漂亮的仪表板管理队列,易于创建webhooks,单播和多播推送队列,工作进程自动缩放警报和错误队列。
资源
- 推送可靠消息传递的队列 blog.iron.io
- 使用IronMQ进行延迟处理和扩大规模 developer.rackspace.com
- 消息队列:比较Beanstalkd,IronMQ和Amazon SQS sitepoint.com
- 使用IronMQ作为芹菜经纪人 celery.readthedocs.org
- Laravel 4 + IronMQ推送队列 blog.iron.io
- 使用IronMQ作为DelayedJob经纪人 blog.iron.io
kafka
http://kafka.apache.org/
- 斯卡拉
Apache Kafka将发布 - 订阅消息传递作为分布式提交日志进行重新考虑。
资源
- 开源采购Kafka,LinkedIn的分布式消息队列 blog.linkedin.com
- Kafka:John Pignata(幻灯片) speakerdeck.com中天空中的伟大日志文件
- Apache Kafka - 分布式发布 - 订阅消息系统 - Morten Kjetland(视频) vimeo.com
- 在单个节点上运行多代理Apache Kafka 0.8集群 michael-noll.com
- Apache Kafka简介和概述,TriHUG 2013年7月23日[Presentation] slideshare.net
- Apache Kafka engineering.linkedin.com中的群集内复制
kestrel
https://twitter.github.io/kestrel/
- 斯卡拉
简单的分布式消息队列系统
资源
- Scarling»红隼 - Robey robey.lag.net
- 茶隼在Papertrail blog.scoutapp.com上的制作
- 令人误解的标题关于排队railstips.org
- 不要忘记关于Kestrel消息队列 java.dzone.com
kue
https://github.com/Automattic/kue
- 的NODE.JS
- 优先
- REDIS的
由redis支持的分布式优先级作业队列,为node.js构建
- 延迟工作
- 可选的退避重试
- 并行工作量的分配
- 作业TTL
- 工作事件和进度pubsub
- 丰富的集成UI
- REST风格的JSON API
- 优雅的关机
- 由Redis提供支持
资源
- 使用Node.js medium.com 实现作业队列
- Kue简介 screenr.com
- API演练到Kue vimeo.com
Mappedbus
http://mappedbus.io/
- JAVA的
- 高通量
- 低延迟
- 消息传递
- IPC
基于Java的高吞吐量,低延迟消息总线,使用内存映射文件或共享内存作为传输。
资源
- 来源于GitHub github.com
Message-Bus
https://github.com/groupon/Message-Bus
- 将HORNETQ
- JAVA的
- 红宝石
消息总线是使用HornetQ构建的分布式消息平台,在Groupon广泛使用。
资源
- 构建分布式消息传递系统 engineering.groupon.com
- 可靠的HornetQ jboss.org 分布式消息传递
nanomsg
http://nanomsg.org/
- C
- ZEROMQ
nanomsg是一个套接字库,提供了几种常见的通信模式
资源
- 开始使用' nanomsg'tim.dysinger.net
- Nanomsg:ZeroMQ完成了正确的 hguemar.fedorapeople.org
NATS
https://nats.io
- 走
- 。净
- 节点
- NGINX的
- JAVA的
- 红宝石
- 蟒蛇
- 斯卡拉
NATS是一个开源,高性能,轻量级的云消息传递系统。
资源
- NATS文档 nats.io
- NAT :在Go上写入高性能云本地消息blog.gopheracademy.com
- 使用NATS而不是HTTP进行 互联网服务通信diogogmt.com
- 基准消息队列延迟 bravenewgeek.com
- 解剖消息队列 bravenewgeek.com
- 介绍NATS apcera.com
- CloudFoundry消息系统 docs.cloudfoundry.org
- 为什么CloudFoundry使用NATS quora.com
- NPM npmjs.com 上的NATS Node.js客户端
- Gnatsd Docker Image registry.hub.docker.com
NSQ
https://github.com/bitly/nsq
- 走
实时分布式消息处理的规模
资源
- NSQ:实时分布式消息处理规模在bit.ly博客 word.bitly.com
- NSQ - 纽约州Golang聚会Matt Reiferson(幻灯片) speakerdeck.com
- 流处理:哲学,概念和技术(幻灯片) speakerdeck.com
- 与NSQ(视频) youtube.com 实时分布式消息处理
- 去第二十 二天- 到NSQ的旅程blog.gopheracademy.com
QDB
http://qdb.io/
- JAVA的
- 一贯
- 重播
- 备用
QDB是一个支持重播的持久性消息队列
资源
- 来源Github github.com
- ANN QDB 0.4.4发布,为RabbitMQ队列备份 rabbitmq.1065348.n5.nabble.com
Apache Qpid
http://qpid.apache.org/
- JAVA的
- AMQP
- CPP
Apache Qpid™使消息传递工具能够说出AMQP并支持许多语言和平台(以C ++,Python,Java JMS和.NET)
资源
- ZeroMQ,RabbitMQ的和Apache Qpid的性能比较 stackoverflow.com
- RabbitMQ与Apache ActiveMQ与Apache qpid bhavin.directi.com
- 用Apache Qpid编程 access.redhat.com
- QpidComponents.org是一个开源开发社区,致力于在Apache Qpid中为企业级消息传递提供插件和工具 。qpidcomponents.org
queue_classic
https://github.com/ryandotsmith/queue_classic
- 红宝石
- POSTGRES的
简单,高效的Ruby&PostgreSQL工作队列。
资源
- queue_classic Ryan Smith(幻灯片) dl.dropboxusercontent.com
- #344 Queue Classic - RailsCasts railscasts.com
的RabbitMQ
http://www.rabbitmq.com/
- 二郎神
- AMQP
强大的消息传递应用程序
资源
- RabbitMQ教程 rabbitmq.com
- NYTimes架构:没有头,没有主,没有单点故障 highscalability.com
- 持续集成:使用Travis CI&RabbitMQ blog.gopivotal.com 每天可扩展到74,000个版本
- RabbitMQ和Nanite paperplanes.de 上的Smalltalk
- 220亿人次:Superfeedr的Julien Genestoux blog.gopivotal.com
- 用RabbitMQ和Scala提升AMQP - 教程和 截屏timperrett.com
- 与RabbitMQ slideshare.net 高功能的消息传递
- RabbitMQ在行动:分布式消息为每个人(书) amazon.com
- 如何工作的Instagram饲料:芹菜和RabbitMQ blogs.vmware.com
Resque
https://github.com/resque/resque
- 红宝石
- REDIS的
用Ruby编写的坚实的工作队列,由Redis支持。
- 作为现有解决方案的替代方案,在GitHub上构建。自那时以来就让GitHub后台工作变得更加强大。
- 严重依靠Redis作为后端
- 叉(2)用于产卵工人
- 用于管理运行作业的Web UI,活动工作人员等
- 许多插件(如resque-scheduler,resque-retry)
- 大社区
资源
- 在GitHub.com博客 github.com上介绍Resque
- 在Redis中用Redis排队,在Heroku中心 devcenter.heroku.com 用Resque 排队
- 你知道 吗Rescene rubylearning.com
- 如何用Resque排队工作 girders.org
RestMQ
http://restmq.com/
- 蟒蛇
- REDIS的
RestMQ是一个消息队列,它使用HTTP作为传输,JSON格式化极简主义协议,并被组织为REST资源。它站在巨人的肩膀上,建立在Python,Twisted,Cyclone(扭曲的旋风)和Redis之上。
资源
- RestMQ - 基于HTTP / Redis的消息队列(幻灯片) slideshare.net
RQ
http://python-rq.org/
- 蟒蛇
- REDIS的
RQ(Redis队列)是一个简单的Python库,用于排队作业并在后台使用工作进程处理它们
资源
- 价格助手为什么以及如何从芹菜迁移到RQ - Paris.py#2 slideshare.net
Siberite
http://siberite.org/
- 走
简单,轻量级,支持消息队列
- Darner在Go中重写了其他功能
- 单个主题可以使用持久游标多次使用
- 使用Kestrel(memcached)协议
- 将所有消息保留在进程之外
- 少量的驻留内存,无论队列大小
- 两相可靠取指
资源
- 来源于GitHub github.com
Sidekiq
http://sidekiq.org/
- 红宝石
- REDIS的
简单,高效的Ruby后台处理。
- 基于Redis
- 多线程,引擎盖下采用赛璐珞
- Web UI
- Resque兼容性
- Sidekiq Pro付费版(750美元),支持和附加功能(批量,通知,可靠性,指标)
- 快速增长的社区
资源
- 乐趣和利润的异步处理由 麦克佩勒姆confreaks.com
- #366 Sidekiq - RailsCasts railscasts.com
- Sidekiq对Resque,与MRI和JRuby joshrendek.com
- 在StatusPage.io博客 blog.statuspage.io 与Sidekiq踢屁股
- Sidekiq在LinuxJournal linuxjournal.com
扎卡(前马可尼)
https://wiki.openstack.org/wiki/Zaqar
- OPENSTACK的
- 蟒蛇
- MONGODB的
- 源码
- 耐用
Zaqar是由OpenStack和OpenStack制作的排队和通知服务,但不仅限于此
资源
- OpenStack峰会2013项目概述:马可尼排队和通知服务 youtube.com
- Marconi排队和通知服务为OpenStack youtube.com
ZeroMQ
http://www.zeromq.org/
- CPP
- JAVA的
智能传输层
资源
- ZeroMQ介绍(真的 - 最好的,必须阅读文章!) nichol.as
- ZeroMQ:现代和快速的网络堆栈 igvita.com
- PyCon 2011:采用ZeroMQ(视频) blip.tv的高级网络架构
- Ømq&Services @ Chartboost由Kenneth Ballenegger(幻灯片) speakerdeck.com
- Gearman和ZeroMQ,两个不同的动物 speakerdeck.com
- 开源应用程序体系结构(第2卷):ZeroMQ aosabook.org
- 使用Go和 ØMQblog.kyleisom.net进行网络自动配置
- 使用ZeroMQ安全(第1部分) hintjens.com
- 使用Zato architects.dzone.com 在两行Python代码中集成ZeroMQ,AMQP,JMS WebSphere MQ等
- ZeroMQ而不是HTTP,用于内部服务 augustl.com
- gevent-zeromq - 库包装pyzmq使其与gevent(Python) github.com兼容
- 介绍ZuQ - 一个简单的ZeroMQ队列守护进程 devincharge.com
- ØMQ和Protocol Buffers的轻量级RPC blogs.mulesoft.org
- ZeroMQ通过C#:简介 codeproject.com
- JeroMQ:在java github.com中的实现
其他的项目
欢迎你在评论中补充。