apache-kafka - kafka服务器可以强制消费属性吗?

标签 apache-kafka kafka-consumer-api

我对卡夫卡世界还比较陌生。我可以用 Java 设置一个 kafka 消费者,并且可以看到消费者 API 允许我设置消费者属性。

properties.put(ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG,2000);
new KafkaConsumer<>(properties)

这对我来说效果很好。我还在 kafka 服务器上看到一个名为consumer.properties 的文件。我认为如果我将 max.poll.interval.ms 配置为该文件中的某个值,那么我不需要在消费者代码中配置它。但这是行不通的。我是否无法从服务器端决定消费者属性?我觉得如果kafka服务器代替consumer来决定心跳时间或者超时时间会更好。我必须在 kafka 服务器上执行其他设置来强制消费者属性吗?我浏览了 Kafka 文档,但找不到与此相关的任何内容。看起来必须编写consumer.properties 文件,然后将其传递给consumer API。请澄清。谢谢。

最佳答案

Kafka 消费者没有全局配置consumer.properties 文件通常用于 Kafka 控制台消费者。例如,

kafka-console-consumer --bootstrap-server localhost:9092 --topic myTopic --from-beginning --consumer.config consumer.properties

或者,如果您想在 Java Consumer 的上下文中使用该文件,您可以照常读取 consumer.properties 并设置相应的属性。例如,

Properties consumerProps = new Properties();

try {

    consumerProps.load(App.class.getClassLoader().getResourceAsStream("config.properties"));

    // Add any other properties you may wish..

    KafkaConsumer consumer = new KafkaConsumer<>(consumerProps)

} 
catch (IOException ex) {
    ex.printStackTrace();
}

关于apache-kafka - kafka服务器可以强制消费属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58915876/

相关文章:

windows - 在 Windows 上的 Docker 容器中运行 Kafka-Manager

apache-kafka - 多个消费者从单个 kafka 分区消费

java - 当手动定义容器且未使用监听器注释时,如何在 spring-kafka 中暂停/恢复消费者

apache-kafka - 如何在单个 kafka 主题的所有分区中写入相同的消息?

apache-kafka - 由于消费者速度慢,Kafka 重新平衡主题中的数据

java - 卡夫卡流: How to get the first and the last record of a SessionWindow?

apache-kafka - 有没有办法更新正在运行的 kafka 连接器的配置

apache-kafka - Kafka 重新分配 __consumer_offsets 不正确?

java - 如何使用 Maven 在 Java 单元测试中处理冲突的外部库版本

java - kafka流跳跃窗口聚合导致时间戳零时出现多个窗口