Kafka 命令行 producer/consumer 有 1 秒延迟

Kafka command line producer/consumer have 1 second latency

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

我正在 运行在一个终端机中执行此操作 window

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的默认配置,所以没怎么配置。

提前致谢!

Kafka 有两个配置参数 - 一个是设置在回答消费者请求之前接收到的最小数据量,另一个是设置在回答请求之前等待此数据到达的最长时间。

您可以尝试添加以下选项:

--consumer-property fetch.max.wait.ms=0 --consumer-property fetch.min.bytes=0

更多信息:

作为Ivan Georgiev didn't work for me (not only because it is about the consumer and not the producer), I opened , and finally also in Apache's Jira and ppatierno的回答(感谢)回答了为什么会发生以及如何解决。

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

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