web-dev-qa-db-ja.com

Redisとkafkaの違い

私はRedisとKafkaの初心者です。 Redisはリアルタイムpub-subとして使用できます。ただし、Kafkaはリアルタイムpub-subです。いつ使用するか混乱しています。どのようなユースケースも大いに役立ちます!ありがとう!

42
Sweta Sharma

Redis pub-subは、ほとんどの場合、作成したすべてのメッセージがすべての消費者に一度に配信され、データはどこにも保持されない、消火システムのようなものです。 redisに関してメモリに制限があります。また、生産者と消費者の数がRedisのパフォーマンスに影響を与える可能性があります。

一方、Kafkaは、キューのように使用できる高スループットの分散ログです。ここでは、任意の数のユーザーが生産し、消費者はいつでも消費できます。また、キューを介して送信されるメッセージの永続性も提供します。

最終テイク:

Redisを使用します。

  1. 火災が発生し、システムの種類を忘れた場合、作成したすべてのメッセージが消費者に即座に配信されます。
  2. 速度が最も懸念される場合。
  3. データ損失に耐えられるかどうか。
  4. 送信したメッセージをシステムに保持させたくない場合。
  5. 扱うデータの量は膨大ではありません。

Kafkaを使用:

  1. 信頼性が必要な場合。
  2. システムに、消費後でも送信されたメッセージのコピーを保持する場合。
  3. データ損失に耐えられない場合。
  4. 速度が大きな問題ではない場合。
  5. データサイズが大きい
76