通过设置 batch.size
我们告诉制作者批量处理记录,直到记录的大小达到该限制,然后发送它们。有一个奇怪的配置 linger.ms
,也就是说如果制作人想发送唱片 batch.size
不伸手等多了。
我的问题是,制作人怎么可能在唱片的大小达到最大值之前发送唱片呢 batch.size
? 我认为等待批处理有一个超时,如果有一些配置,它是什么?
我把我的制作人 batch.size
但制作者发送记录时没有考虑这个限制。
通过设置 batch.size
我们告诉制作者批量处理记录,直到记录的大小达到该限制,然后发送它们。有一个奇怪的配置 linger.ms
,也就是说如果制作人想发送唱片 batch.size
不伸手等多了。
我的问题是,制作人怎么可能在唱片的大小达到最大值之前发送唱片呢 batch.size
? 我认为等待批处理有一个超时,如果有一些配置,它是什么?
我把我的制作人 batch.size
但制作者发送记录时没有考虑这个限制。
1条答案
按热度按时间kokeuurv1#
您正在搜索的参数
linger.ms
. 它的默认值是0,这意味着生产者将尽快(当发送者线程可用时)发送消息,而不会有任何延迟,即使batch.size
未到达。条件是生产者在batch.size
到达或linger.ms
时间到了。如果希望生产者只在batch.size
你应该增加linger.ms
时间(大于0),并确保应用程序能够在为批处理设置的值之前生成填充批处理的消息linger.ms
时间;只有在这种情况下,生产者才会发送消息,因为batch.size
而不是为什么linger.ms
已过期。当然,增加linger.ms
意思是在你没有到达目的地的时候增加发送消息的延迟batch.size
但无论如何你都想发信息。