Apache Kafka Producer配置:'request.timeout.ms'VS。 'max.block.ms'属性

时间:2017-01-24 18:11:51

标签: apache-kafka kafka-producer-api

鉴于以下同步kafka制作人

Properties props = new Properties();
props.put("max.block.ms", 30000);
props.put("request.timeout.ms", 30000);
props.put("retries", 5);

KafkaProducer<String, byte[]> produce = new KafkaProducer<>(props);

//Send message
producer.send(producerRecord).get();

帮助我理解 request.timeout.ms max.block.ms 生产者配置之间的区别。是否包括所有重试的最长时间?或者每次重试都有自己的超时?

1 个答案:

答案 0 :(得分:4)

request.timeout.ms用于超时请求,我将其设置为我可以等待响应的最长时间。

max.block.ms用于生产者阻止缓冲时间,序列化时间等。

详情请看这个。 https://cwiki.apache.org/confluence/display/KAFKA/KIP-19+-+Add+a+request+timeout+to+NetworkClient