簡體   English   中英

Celery:什么時候應該選擇 Redis 作為消息代理而不是 RabbitMQ?

[英]Celery: When should you choose Redis as a message broker over RabbitMQ?

我的粗略理解是,如果您需要內存中的鍵值存儲功能,那么 Redis 會更好,但是我不確定這與分發任務有什么關系?

這是否意味着我們應該使用 Redis 作為消息代理,如果我們已經將它用於其他用途?

我最近使用過(2017-2018),它們與Celery 4都非常穩定。所以你的選擇可以基於你的主機設置的細節。

  • 如果您必須使用Celery版本2或版本3,請使用RabbitMQ。 除此以外...
  • 如果您出於任何其他原因使用Redis,請使用Redis
  • 如果您在AWS托管,請使用Redis,以便您可以使用托管Redis作為服務
  • 如果您討厭復雜的安裝,請使用Redis
  • 如果您已經安裝了RabbitMQ,請繼續使用RabbitMQ

在過去,我會推薦RabbitMQ,因為它比使用Redis更安靜,更容易設置Celery,但我不相信這是真的。


更新2019年

AWS現在有一個托管服務,相當於名為Amazon MQ的RabbitMQ,這可以減少將其作為生產服務運行的麻煩。 如果您對此和芹菜有任何經驗,請在下面評論。

Redis 代理在不同隊列之間以公平的循環方式將任務分配給工作人員。 兔子總是先進先出。 對我來說,公平的循環賽更可取,我都試過了。 兔子似乎更穩定一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM