这里是我的卡夫卡消息生产者:仅消耗特定partion消息
ProducerRecord producerRecord = new ProducerRecord(topic, "k1", message);
producer.send(producerRecord);
这里是我的消费者
TopicPartition partition0 = new TopicPartition(topic, 0);
consumer.assign(Arrays.asList(partition0));
final int minBatchSize = 200;
List<ConsumerRecord<String, byte[]>> buffer = new ArrayList<>();
while (true) {
ConsumerRecords<String, byte[]> records = consumer.poll(100);
for (ConsumerRecord<String, byte[]> record : records) {
buffer.add(record);
System.out.println(record.key() + "KEY: " + record.value());
怎么可能消耗为作为分区键只topic
消息
用“partition key'k1'”我猜你实际上是指“message key'k1'”。卡夫卡确实为您选择了钥匙。在使用分区时,必须使用该分区的每条消息。无论你做什么或只是放弃它,如果它没有正确的钥匙取决于你。 – Harald
你是说在接收邮件的同时我应该做'if(msg.key()。equals(“k1”)' – manish
是的,那就是要走的路。 – Harald