Kafka生产者如何批处理?

Gib*_*bbs 3 apache-kafka kafka-producer-api

假设我有两个经纪人。

我读到 KafkaProducer 创建的生产者线程等于代理的数量。所以在这种情况下我将有两个内部线程。

假设我有 5 个主题,每秒只收到 200 条消息。kafka如何进行批处理?

批量大小=30条消息。[topic1=5, topic2=10, topic3=3, topic4=10, topic5=2 messages] 这些是最高顺序的消息和相应的主题。

kafka如何进行批处理?

Mat*_*Sax 5

我读到 KafkaProducer 创建的生产者线程等于代理的数量。所以在这种情况下我将有两个内部线程。

不确定您从哪里获得此信息,但它不正确。AKafkaProducer确实有一个后台线程将数据异步写入代理。

批处理是如何发生的,很难详细预测。这取决于您的batch.size(即最大值)。此外,还有一个linger.ms参数,用于定义发送数据之前保留数据的时间(即使批次未满)。

更详细地说,将与托管您写入的分区的所有代理建立开放的网络连接。此外,批处理是基于分区进行的——但是,多个批处理可以包含在对代理的单个请求中。