【问题标题】:Use kafka producer as log appender使用 kafka 生产者作为日志附加器
【发布时间】:2016-12-17 12:54:30
【问题描述】:

我已经按照基本的 kafka 生产者文档实现了一个带有 kafka 生产者的日志附加程序。我的配置如下所示,我使用 KafkaProducer 并使用 send() 将每个日志发送到 kafka。就我而言,我不能使用 KafkaAppender,因为我们不支持 slf4j 或 log4j。

如何批量处理这些日志以及如何优化以下配置以处理大量日志。

Properties props = new Properties();
    props.put("bootstrap.servers", "ip:9092");
    props.put("acks", "all");
    props.put("retries", 0);
    props.put("batch.size", 16384);
    props.put("linger.ms", 1);
    props.put("buffer.memory", 33554432);
    props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
    props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");

【问题讨论】:

    标签: apache-kafka kafka-producer-api


    【解决方案1】:

    增加linger.ms 配置。这个配置的意思是“在这个超时之后发送消息,即使批次还没有满”。在您的情况下,您的生产者每毫秒刷新一次数据,这就是您没有注意到任何“批处理”的原因。

    【讨论】:

      猜你喜欢
      • 2016-06-16
      • 1970-01-01
      • 2016-01-15
      • 2018-05-05
      • 2019-04-27
      • 2022-01-15
      • 2020-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多