のすべてexamplesのKafka | producersは、ProducerRecord
のキーと値のペアが同じタイプ(すべての例では<String,String>
と表示されている)であるだけでなく、同じ値であることを示しています。たとえば:Kafkaのキー/バリューペアベースのメッセージングの目的は何ですか?
producer.send(new ProducerRecord<String, String>("someTopic", Integer.toString(i), Integer.toString(i)));
しかし、カフカのドキュメントでは、私はどこのキー/値の概念(およびその基礎となる目的/ユーティリティ)を見つけることができないように説明されています。伝統的なメッセージング(ActiveMQ、RabbitMQなど)では、私はいつも特定のトピック/キュー/エクスチェンジでメッセージを発しました。しかし、カフカは、レギュレーションの文字列メッセージの代わりにキー/値のペアを必要とする最初のブローカーです。
私は質問します:生産者にKVペアを送信する必要性の目的/有用性は何ですか?
特に、キーはKafkaのストリーミングAPIで、KStreamとKTableで関連する部分を再生します - [here](http://docs.confluent.io/current/streams/developer-guide .html#streams-developer-guide-dsl)。 – reim
キー***はパーティションを決定するために使用できますが、プロデューサのデフォルト戦略です。最終的に、使用するパーティションを選択するのは***プロデューサー***です。 – gvo