我们计划使用3个kafka-broker和一个zookeeper节点。我们为每个主题保留了一个分区。但是我们对5ms的延迟有严格的要求。我们正在使用reactive-kafka客户端库https://github.com/akka/reactive-kafka。
e.g。我们有一个生产者,每30毫秒产生128字节(大约)数据,消费者消费者每50毫秒产生一次。
我们尝试了
linger.ms=0
compression.type=none
acks=0
在生产者方面。
在50毫秒的消费者方面进行投票
但是,只要我们将产生的频率提高到1秒,延迟就会在1ms到70ms之间变得无法预测。
那么,如果我们总是需要5ms的延迟,那么应该在kafka-broker,生产者和消费者层面进行调整。