是kafka生产者能够在列表中发送多个消息?

时间:2015-07-07 17:06:07

标签: producer apache-kafka

在Kafka v 0.8.2中,将生产者记录列表作为生产者发送仍然是可能/有益的,而不是一次只发送一个生产者记录吗?检查API似乎是org.apache.kafka.clients.producer.KafkaProducer无法使用一个发送调用发送多个producerRecords。

但是,在javaapi下的生产者中,可以发送keyedMessages列表。有人可以解释差异或指出我正确的方向吗?非常感谢。

2 个答案:

答案 0 :(得分:2)

javaapi下的生产者是旧的实现,已被客户端中的新实现取代。新的生产者实现仍然可以将消息一起批处理,但是会在后台执行此操作,并且在进行调用发送时,您将获得每个消息的未来。

可以使用参数“batch.size”和“linger.ms”控制批量大小和延迟。有关详细信息,请参阅documentation

答案 1 :(得分:1)

0.8.2不支持在prevois版本中发送消息列表。相反,send(ProducerRecord<K,V> record, Callback callback)提供了回调。

然而,您可以使用旧客户端,但不建议这样做,因为声称新的kafka客户端比前一个客户端更快更好。