春季启动中的Kafka Stream应用程序持续无限增长

时间:2019-06-24 12:51:40

标签: java spring spring-boot apache-kafka apache-kafka-streams

最初,我做了一个更复杂的kstream应用程序,它做了很多复杂的事情。我运行了更长的时间,并发用户达到1500个峰值,即使在负载非常低的10-20个并发用户的夜晚,pod的容器内存仍在不断增长。

所以我开始研究内存泄漏的代码,做了所有我可以改善代码的调整。除了提高性能外,没有任何帮助。因此,我要做的是创建一个简单的spring boot应用程序,该应用程序基本上侦听一个主题,然后过滤掉一些事件并将其发送到另一个主题。

public static KStreamBuilder evenNumbersTopology(KStreamBuilder builder) {    

        KStream<String, Integer> kStreamTest = builder.stream(stringSerde, integerSerde, INPUT_TOPIC);

        kStreamTest
            .filter((k, v) -> filterOutUnevenNumbers(v))
            .to(DESTINATION_TOPIC);

        return builder;
    }

在性能测试上将其基本运行了2周,该测试将并发用户从0变为2000。 内存一直在增长,但有时会稳定下来。有人可以向我解释发生了什么吗?我没有存储任何东西,基本上是将所有事件流式传输到一个新主题。

编辑:我使用的版本是:
Java 8
kafka版本:2.2.0
春季启动:2.1.0.RELEASE

这里是JVM的一些图形:
请注意,自从我重新启动所有功能以来,“保有权/伊甸园/幸存者”空间仅约15小时。

使用方便-到达64mb时会掉线 Tenured

幸存者 Survivor

伊甸园 Eden

还有容器内存:enter image description here

0 个答案:

没有答案
相关问题