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

问题描述 投票:18回答:1

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

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

python django redis rabbitmq celery
1个回答
28
投票

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

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

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


Update 2019

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

© www.soinside.com 2019 - 2024. All rights reserved.