Celery:你应该什么时候选择Redis作为RabbitMQ上的消息代理?

时间:2017-04-06 20:06:37

标签: python django redis rabbitmq celery

我粗略的理解是,如果您需要内存中的键值存储功能,Redis会更好,但是我不确定这与分发任务有什么关系?

这是否意味着我们应该使用Redis作为消息代理,如果我们已经将其用于其他内容?

1 个答案:

答案 0 :(得分:27)

我最近使用过(2017-2018),它们在Celery 4上都非常稳定。所以你的选择可以基于托管设置的细节。

  • 如果您必须使用Celery版本2或版本3,请使用RabbitMQ。否则...
  • 如果您出于任何其他原因使用Redis,请使用Redis
  • 如果您在AWS托管,请使用Redis,以便您可以使用托管Redis作为服务
  • 如果您讨厌复杂的安装,请使用Redis
  • 如果您已安装RabbitMQ,请继续使用RabbitMQ

在过去,我会推荐RabbitMQ,因为它比Ceis更安静,更容易使用Ceis进行设置,但我不相信这是真的。

<小时/> 更新2019

AWS现在拥有一个托管服务,该服务相当于名为Amazon MQ的RabbitMQ,这可以减少将其作为生产服务运行的麻烦。如果您对芹菜和芹菜有任何经验,请在下面发表评论。