鉴于以下同步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 生产者配置之间的区别。是否包括所有重试的最长时间?或者每次重试都有自己的超时?
答案 0 :(得分:4)
request.timeout.ms用于超时请求,我将其设置为我可以等待响应的最长时间。
max.block.ms用于生产者阻止缓冲时间,序列化时间等。
详情请看这个。 https://cwiki.apache.org/confluence/display/KAFKA/KIP-19+-+Add+a+request+timeout+to+NetworkClient