2015-10-06 91 views
1

我在使用卡夫卡作为消息传递平台。我需要发送一大堆消息给它。我正在寻找一个可以获取记录列表的批量api,但无法在kafka-clients工件中找到它。卡夫卡批量生产商API

在Java中是否有Kafka的批量生产者api?

回答

5

你是决定什么意味着记录的人,所以把数据拆分成消息必须在你身边完成。卡夫卡制作人支持将几个消息分批发送到更少的发送。

对于更像是散装装载机的东西,最近有一些与Copycat framework一致的东西。其中一些是trunk,但目前正在进行中。

+0

感谢您的回复。但是,我不明白这是什么意思。卡夫卡制片人api采用ProducerRecord 类型。这意味着我不能将多个记录分批到k,v对中,因为每个键都不同。对?或者也许我错过了一些东西。 – feroze

+1

您可以设置生产者属性'batch.size'和'linger.ms'来控制消息如何组合在一起。 'batch.size'在发送之前控制一批消息的最大大小,'linger.ms'是一种延迟发送和等待更多消息在批量发送之前累积的方式。这全是 – Lundahl

+1

这一切都是在后台透明地完成的,您仍然需要在代码中单独调用每个记录上的“发送”。 – Lundahl