您好,匿名用户
随意问技术百科期待您的加入

rabbitmq和celery的区别?

+1 投票

Celery: Distributed Task Queue 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).

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.

没能看明白之间的区别。求点

用户头像 提问 2013年 9月9日 @ Trundle 上等兵 (301 威望)
分享到:

1个回答

0 投票

以我浅薄的理解来回答一下。

Celery和RabbitMQ是两个层面的东西。
Celery是一个分布式的任务队列。它的基本工作就是管理分配任务到不同的服务器,并且取得结果。至于说服务器之间是如何进行通信的?这个Celery本身不能解决。
所以,RabbitMQ作为一个消息队列管理工具被引入到和Celery集成,负责处理服务器之间的通信任务。

当然,后来Celery相继增加了一些对Redis,MongoDB之类的支持。原因是RabbitMQ尽管足够强大,但对于一些相对简单的业务环境来说可能太多(复杂)了一些。这样用户可以有多一些的选择。

用户头像 回复 2013年 9月9日 @ Fiora 上等兵 (297 威望)
提一个问题:

相关问题

+1 投票
1 回复 472 阅读
0 投票
1 回复 47 阅读
用户头像 提问 2012年 12月1日 @ Dante 上等兵 (290 威望)
0 投票
0 回复 23 阅读
用户头像 提问 2013年 9月12日 @ Dr. Mundo 上等兵 (281 威望)
0 投票
0 回复 1 阅读
用户头像 提问 2014年 6月7日 @ Dr. Mundo 上等兵 (281 威望)
0 投票
0 回复 182 阅读
用户头像 提问 2012年 12月1日 @ Sion 上等兵 (319 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...