2016-06-29 8 views
1

私はRabbitMQを実行しようとしているApache Kafkaのユーザーです。 カフカは消費者が以前に生成されたメッセージを消費することをサポートしています。 (カフカのログで「オフセット」を再拡大することによって)新しい消費者がRabbitMQで過去に生成されたメッセージをどのくらい消費するか?

RabbitMQに同じ機能があるかどうかを知りたいと思います。 (新しい消費者が来て、特定のポイントの後にすべてのメッセージを要求します。)

答えて

2

私はRabbitMQのは、それがないと同じ機能

を持っているかどうかを知りたいのです。

カフカはその機能のために設計されたものです。カフカはイベントログで、ある地点から前方に進むことができます。

RabbitMQは、メッセージキューです。先入れ先出しです。メッセージが処理されると、それは完了し、終了します。横断する履歴やログはありません。


RabbitMQ用の「最近の履歴」プラグインがありますが、これは同じ機能セットKafkaを提供しません。

https://github.com/rabbitmq/rabbitmq-recent-history-exchange#readme

それは唯一の「新しいメッセージを取得するために、続行する前に、新たな消費者が、最後の20件のメッセージを取得する必要があります」のような何かを言うためにことができます。

カフカは、より広範な歴史と、最初から始めて、必要に応じて前進する能力を提供します。

+0

RabbitMQの購読者は、購読後に生成されたメッセージを受け取るでしょうか?ありがとう – syko

+0

キューに1つのコンシューマがあると仮定すると、そのコンシューマは、コンシューマが接続して消費を開始した後、キューにメッセージを受け取ります。コンシューマが接続する前にキューに5つのメッセージがある場合、コンシューマはこれらの5つのメッセージとすべてのメッセージを受信します。 –

+0

これらの5つのメッセージがなくなり、別のコンシューマが同じキューに接続すると、メッセージはすでに消えているので、これらの5つのメッセージを受信します。私が言及したそのプラグインを除いて履歴はありません –

関連する問題