apache-kafka - Kafka 命令行生产者/消费者有 1 秒的延迟

标签 apache-kafka kafka-consumer-api kafka-producer-api

我正在使用命令行生产者和消费者对 Kafka 进行测试运行。

我在一个终端窗口中运行它

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic tag7

这在另一个
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic tag7 --zookeeper localhost:2181

但是我发送给消费者的数据需要 1 秒多的时间。我发送的数据是我输入到生产者的数据,所以基本上每隔几秒就会有 1 条消息。是否有任何我可以更改的配置选项,以便 Kafka 代理每秒期望很少的消息,从而使消息移动得更快?

我使用的是Zookeeper和Kafka的默认配置,所以配置不多。

先感谢您!

最佳答案

作为来自 Ivan Georgiev 的回答对我不起作用(不仅因为它是关于消费者而不是生产者),我打开了 another question here in StackOverFlow ,最后也在 Apache's Jira ppatierno (谢谢)回答了为什么会发生以及如何解决。

用于更改控制台生产者的属性 linger.ms (默认为 1000 毫秒)和 batch.size (默认为 16384)您需要在命令行中使用 --timeout 指定它和 --max-partition-memory-bytes分别,例如,如果您在 Kafka 的主文件夹中:

./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testConsole --timeout 100

关于apache-kafka - Kafka 命令行生产者/消费者有 1 秒的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41497802/

相关文章:

apache-kafka - Leader 在控制台 Producer 中不可用 Kafka

java - Apache Kafka 是否在 Open JDK 上运行

java - kafka连接错误: cannot find or load main class

apache-kafka - Kafka Streams 处理器需要很长时间来使用更新日志主题和初始化状态存储

java - Lagom 使用 Kafka 发布消息

apache-kafka - 哪个 kafka 属性决定了 KafkaConsumer 的轮询频率?

spring - 当所有消费者都被删除时,Kafka 消费者组会发生什么

java - Netty请求超时

maven - 无法从 java 客户端连接到我的虚拟机上的 kafka