2017-01-20 7 views
0

ElasticSearchには、それぞれ独自のハッシュを持つインデックスタイプのRSSドキュメントがあります。ElasticSearchのものと比較して、カフカを介してユニークな受信文書のリストを作成する最も効率的な方法は何ですか?

次に、マイクロサービスブローカーとして追加するために、Kafka Connectを介してフィードからRSS文書のリストを取得するスケジューラーがあります。オプションがベストですBulkRequestBuilderまたはBulkProcessorを、(私も後者が原因のパフォーマンスの問題のために好適であることを読んで)使用

  1. はタイトルに基づいてハッシュをリストにすべての着信RSS文書を追加します。 ;リストを反復し、リストにドキュメントを追加する前にES
  2. のもの
  3. のハッシュ一致を持っているすべてのドキュメントのを削除し、そのハッシュはすでにES DBに存在するかどうかを確認し、リスト

に追加より良い方法があるかもしれませんが、私はそれを歓迎します。

文書は消費された時点でカフカから削除されるため、この場合はカフカストリームを使用しますか?カフカプロデューサコードでは、一種のクエリを通じて比較を行うのではなく、正確に一度を使用するか、これがコンシューマコードに入ります。

私はこれで正しい軌道に乗っていれば、誰かが詳しく説明できますか?

答えて

0

Bulk optionとすると、既存のドキュメントIDは受信したIDで完全に置き換えられますが、これはユースケースでは問題ありません。余分なものは必要ありません。

カフカは、kafkaクラスターのリバランスイベント中に、いくつかのメッセージ(潜在的なdup配信)を除いて、プロデューサーがメッセージを生成していないことを条件として、ほとんどの場合、消費者はそれを処理する方法を持っているはずです。

カフカは、他の従来のブローカー(JMSベース)とは異なり、メッセージは消費時にカフカから削除されず、それはretention period setting per topic or generallyによって駆動されます。それについての良い点は、古いメッセージを消費するために、いつでも元のメッセージに戻ったり、新しいユースケースを構築したりすることができるということです。

関連する問題