【问题标题】:Apache Kafka Producer Config: 'request.timeout.ms' VS. 'max.block.ms' propertiesApache Kafka 生产者配置:'request.timeout.ms' VS。 'max.block.ms' 属性
【发布时间】:2017-06-09 17:08:55
【问题描述】:

给定下面的同步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 生产者配置之间的区别.是否包括所有重试的最长时间?还是每次重试都有自己的超时时间?

【问题讨论】:

    标签: apache-kafka kafka-producer-api


    【解决方案1】:

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

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

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

    【讨论】:

    • request.timeout.ms(producer config) 应该大于replica.lag.time.max.ms(broker config) 以减少由于生产者重试而导致消息重复的可能性。 Source
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 2020-02-09
    • 1970-01-01
    • 2019-11-30
    相关资源
    最近更新 更多