Kafka max.request.size与buffer.memory vs. send.buffer.bytes

时间:2017-01-16 12:40:35

标签: apache-kafka kafka-producer-api

我试图配置我的Kafka制作人,并查看文档,我试图了解不同值之间的最佳关联。

据我所知,这些价值观必须符合以下规则: max.request.size> = buffer.memory> = send.buffer.bytes。设定值超出这些规则是没有意义的。我对么?什么是设置这些值的最佳指导规则(假设max.request.size = X)?

另外,假设ack = 1,max.in.flight.requests.per.connection有什么意义吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

这三者彼此无关。实际上,它们的默认值是:

  

max.request.size:1048576

     

buffer.memory:33554432

     

send.buffer.bytes:131072

所以“max.request.size> = buffer.memory> = send.buffer.bytes”不成立,因为它们涉及不同的事情。

对于max.in.flight.requests.per.connection,它控制生产者是否应该遵守消息的发送顺序,这也与ack无关。