2016-10-06 7 views
0

私はこの問題を把握しようとしています。現時点ではelasticsearchクラスタをアップグレードしており、現在はKafkaキューを介して作成/更新/削除要求をパイプしています。消費者グループAがこれらの要求を購読しているとします。私は消費者グループAを一時停止し、消費者グループBをスピンアップし、消費者グループAおよびBにAを中止した場所から再開させたいと考えています。別の消費者が放棄した時点からカフカ消費者を開始する

基本的に、AとBは、Aが以前に一時停止したポイントからキューからデータのコピーを取得します。これはカフカで可能でしょうか?

答えて

0

グループBに同じプロデューサからの消費が開始され、オーバーラップが少ししかないのはなぜですか。 Aからピックアップしようとすると、物事が過度に複雑になるようです。

+0

問題は、オーバーラップの程度が調整できないことです。私が持っている2つの選択肢は、キューの先頭かキューの始めから消費すると考えています。 Bが最初から消費し始めると、オーバーラップが発生する可能性がありますが、そのオーバーラップは潜在的に数週間分のメッセージになる可能性があります。 – sanz

+0

私は参照してください。タイムスタンプを指定してオフセットを選択する独自の機能を実装することは可能です。 Kafka 0.10では、https://cwiki.apache.org/confluence/display/KAFKA/KIP-32+-+Add+timestamps+to+Kafka+messageで簡単に操作できます。しかし、以前のバージョンを使用している場合は、タイムスタンプのマッピングを維持するサービスを実行するのが難しくありません。あなたは、消費者Aから生産する生産者を作り、その生産者から消費者Bを消費させることもできると考えました。 –

関連する問題