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