batch.size 和linger.ms的关系?
来源:5-8 消息传递保障

杨勤_cd
2020-09-19
看视频后,这是我对这两个参数的理解。
batch.size:producer收到消息的字节数达到该阈值,才开始批量发送
linger.ms:延迟指定时间以便producer获取到更多消息
---------------------------------------------------------------------
我还是不太理解两者的关系,问题如下:
假设:batch.size设置1024字节,linger.ms设置0毫秒
- producer一定要等到收到的消息到达1024后才会向服务器批量发送消息?
假设batch.size设置1024字节,linger.ms设置3毫秒。
- producer在3毫秒内收到的字节数小于1024字节,producer在3毫秒这个时刻不会发送消息,而是继续等待数据到达1024字节后才开始批量发送?
- producer在2毫秒时已经收到的字节数大于1024字节,producer在2毫秒这个时刻就发送消息?
写回答
1回答
-
Allen
2020-09-21
首先,其实这两个参数没有配合作用, Kafka默认情况下是满足其一就发送。 不过一般都是合理范围内的值【Producer有基础校验】, 比如linger.ms设置为0, 那么这个参数就会走默认了
10
相似问题