当消息大小很大时,Kafka 主题延迟会逐渐增加



我正在使用Kafka Streams Processor API来构建Kafka Streams应用程序,以从Kafka主题中检索消息。我有两个具有相同 Kafka Streams 配置的消费者应用程序。区别仅在于消息大小。第一个有 2000 个字符 (3KB( 的消息,而第二个有 34000 个字符 (60KB( 的消息。

现在在我的第二个消费者应用程序中,我得到了太多的延迟,随着流量逐渐增加,而我的第一个应用程序能够同时处理消息而没有任何延迟。

我的流配置参数如下,

application.id=Application1
default.key.serde=org.apache.kafka.common.serialization.Serdes$StringSerde
default.value.serde=org.apache.kafka.common.serialization.Serdes$StringSerde
num.stream.threads=1
commit.interval.ms=10
topology.optimization=all

谢谢

为了更快地使用消息,您需要增加分区数(如果尚未完成,则取决于当前值(,并执行以下两个选项之一:

1( 增加应用程序中配置num.stream.threads的值

2(使用同一消费者组(同一application.id(启动多个应用程序。

对我来说,增加num.stream.threads是可取的(直到您达到运行应用程序的机器的 CPU 数量(。尝试逐渐增加此值,例如从 4 到 6 增加到 8,并监视应用程序的使用者滞后。

通过增加num.stream.threads你的应用将能够并行使用消息,前提是你有足够的分区。

相关内容

  • 没有找到相关文章

最新更新