Celery: メッセージブローカーとして RabbitMQ ではなく Redis を選択すべきなのはどのような場合ですか? 質問する

Celery: メッセージブローカーとして RabbitMQ ではなく Redis を選択すべきなのはどのような場合ですか? 質問する

私の大まかな理解では、メモリ内のキー値ストア機能が必要な場合は Redis の方が適していると思いますが、それがタスクの分散とどう関係するのかよくわかりません。

つまり、すでに他の用途で Redis を使用している場合は、Redis をメッセージ ブローカーとして使用する必要があるということですか?

ベストアンサー1

私は最近(2017-2018)両方を使用しましたが、どちらも Celery 4 で非常に安定しています。したがって、ホスティング設定の詳細に基づいて選択できます。

  • Celery バージョン 2 またはバージョン 3 を使用する必要がある場合は、RabbitMQ を使用してください。それ以外の場合は...
  • 他の理由でRedisを使用している場合は、Redisを使用してください。
  • AWSでホスティングしている場合は、Redisを選択して、マネージドRedisをサービスとして利用できるようにします。
  • 複雑なインストールが嫌ならRedisを
  • すでにRabbitMQがインストールされている場合は、RabbitMQを使い続けてください。

以前は、Redis よりも安定していて Celery でセットアップするのが簡単だったため、RabbitMQ を推奨していましたが、今ではそうではないと思います。


2019年アップデート

AWS には現在、Amazon MQ と呼ばれる RabbitMQ と同等のマネージド サービスがあり、これを本番環境でサービスとして実行する際の負担を軽減できます。これと celery に関する経験があれば、以下にコメントしてください。

おすすめ記事