Redisは、Kafkaと同じようにリアルタイムのpub-subとして使用できます。
どちらをいつ使うか迷っています。
どんなユースケースでも大いに役立ちます。
回答:
Redis pub-subは、ほとんどの場合、作成したすべてのメッセージがすべてのコンシューマーに一度に配信され、データがどこにも保存されないファイアアンドフォーゲットシステムのようなものです。Redisに関してメモリに制限があります。また、プロデューサーとコンシューマーの数がRedisのパフォーマンスに影響を与える可能性があります。
一方、Kafkaは、キューとして使用できる高スループットの分散ログです。ここでは、任意の数のユーザーが生産でき、消費者はいつでも好きなときに消費できます。また、キューを介して送信されるメッセージの永続性も提供します。
ファイナルテイク:
Redisを使用する:
kafkaを使用する:
redis
は、送信されたがまだ処理されていないメッセージがの再起動後に失われないように構成する方法を説明していますredis
。それは可能ですが、箱から出しredis
て保持する(または@Karthikeyanの単語を再利用し続ける)ことはできません。
Redis 5.0以降のバージョンは、ストリームデータ構造を提供します。これは、配信が保証されたログデータ構造と見なすことができます。これは、コンシューマーがプロデューサーによってストリームに追加された新しいデータを待機できるようにする一連のブロッキング操作を提供し、それに加えて、コンシューマーグループと呼ばれる概念を提供します。
基本的に、ストリーム構造はKafkaと同じ機能を提供します。
これがドキュメントhttps://redis.io/topics/streams-introです
この機能をサポートする最も人気のあるJavaクライアントは2つあります。RedissonとJedisです。