Redis は Kafka と同様にリアルタイムの pub-sub として使用できます。
いつどちらを使えばいいのか迷ってしまいます。
どのようなユースケースでも大いに役立ちます。
ベストアンサー1
Redis の pub-sub は、ほとんどが fire and forget システムに似ており、生成したすべてのメッセージが一度にすべてのコンシューマーに配信され、データはどこにも保存されません。Redis に関しては、メモリに制限があります。また、プロデューサーとコンシューマーの数は、Redis のパフォーマンスに影響を与える可能性があります。
一方、Kafka は、キューとして使用できる高スループットの分散ログです。任意の数のユーザーがログを作成し、コンシューマーはいつでもログを消費できます。また、キューを通じて送信されるメッセージの永続性も提供します。
最終結論:
Redis を使用する:
- 作成したすべてのメッセージが消費者に即座に配信される、Fire and Forget タイプのシステムが必要な場合。
- スピードが最も重要であれば。
- データの損失に耐えられるなら。
- 送信されたメッセージをシステムに保持させたくない場合。
- 処理されるデータの量はそれほど多くありません。
kafka を使用します:
- 信頼性を求めるなら。
- 送信されたメッセージのコピーを消費後もシステムに保持したい場合。
- データの損失に耐えられない場合。
- 速度が大きな問題でない場合。
- データサイズが巨大