全部examples的Kafka | producers显示ProducerRecord
的键/值对不仅为相同类型(所有示例均显示<String,String>
),但值为。例如:卡夫卡的基于关键/值对的消息传递的目的是什么?
producer.send(new ProducerRecord<String, String>("someTopic", Integer.toString(i), Integer.toString(i)));
但在卡夫卡的文档,我似乎无法找到,其中键/值概念(其根本目的/实用程序)进行说明。在传统的消息传递中(ActiveMQ,RabbitMQ等),我总是在特定的主题/队列/交换中解雇消息。但卡夫卡是第一个似乎需要键/值对的经纪人,而不是只是一个正规的'ole字符串消息。
所以我问:要求生产者发送KV对的目的/用途是什么?
值得注意的是,关键字在Kafka的流式API中也扮演着相关的角色,具有'KStream'和'KTable' - 见[here](http://docs.confluent.io/current/streams/developer-guide html的#流显影剂导-DSL)。 – reim
Keys ***可以用来确定分区,但它只是生产者的默认策略。最终,它是***生产者***谁选择使用哪个分区。 – gvo