我正在寻找概述“排队”的文章和参考资料(我可能在这里甚至没有使用正确的术语)。我希望通过 Redis、RabbitMQ、Celery、Kombu 以及我还没有读过的任何其他组件的世界,以及它们如何组合在一起,有一个介绍性风格的指南。
我的问题是我需要排队等待由我的 Django 网站发布的后台任务,并且我阅读的每篇博客和文章都推荐不同的解决方案。
我正在寻找概述“排队”的文章和参考资料(我可能在这里甚至没有使用正确的术语)。我希望通过 Redis、RabbitMQ、Celery、Kombu 以及我还没有读过的任何其他组件的世界,以及它们如何组合在一起,有一个介绍性风格的指南。
我的问题是我需要排队等待由我的 Django 网站发布的后台任务,并且我阅读的每篇博客和文章都推荐不同的解决方案。
您可以使用很多选项,您的选择可能会归结为个人喜好以及您喜欢安装的依赖项。
我会给 Redis 投票。我评估了 RabbitMQ、ActiveMQ、HornetQ 和 Redis,发现 Redis 提供了易于安装、简单性和性能的最佳组合。
从技术上讲,它不是消息队列,但列表类型的 push/pop 原语提供了类似原子队列的操作,因此它可以有效地用作队列。它对我们来说效果很好。
您可能会查看 Redis 之上的一个特定于 python 的项目:
http://richardhenry.github.com/hotqueue/tutorial.html
很简单。但同样,所有其他选择,如 Celery,也是可行的。
HornetQ 有一个非常好的文档,而且安装简单。
您可以在www.hornetq.org找到文档,并且您可以在该发行版中找到几个示例。
RabbitMQ 在这里有一个很好的介绍:http : //www.rabbitmq.com/getstarted.html 甚至还有 Python 中的示例。