在Kafka v 0.8.2中,将生产者记录列表作为生产者发送仍然是可能/有益的,而不是一次只发送一个生产者记录吗?检查API似乎是org.apache.kafka.clients.producer.KafkaProducer无法使用一个发送调用发送多个producerRecords。
但是,在javaapi下的生产者中,可以发送keyedMessages列表。有人可以解释差异或指出我正确的方向吗?非常感谢。
答案 0 :(得分:2)
javaapi下的生产者是旧的实现,已被客户端中的新实现取代。新的生产者实现仍然可以将消息一起批处理,但是会在后台执行此操作,并且在进行调用发送时,您将获得每个消息的未来。
可以使用参数“batch.size”和“linger.ms”控制批量大小和延迟。有关详细信息,请参阅documentation。
答案 1 :(得分:1)
0.8.2
不支持在prevois版本中发送消息列表。相反,send(ProducerRecord<K,V> record, Callback callback)
提供了回调。
然而,您可以使用旧客户端,但不建议这样做,因为声称新的kafka客户端比前一个客户端更快更好。