我正在开发一个流处理器,它有kstream kstream和kstream ktable连接,还使用状态存储在执行连接时删除重复项。我们一直在为此处理器执行负载测试,主题中的消息不断增加,这导致流处理器在重新启动/重新部署时需要很长时间(约1小时)才能使用changelog主题并初始化状态存储。我们保留7天的主题。
jw5wzhpr1#
发生这种情况有多种原因:您的代理性能,即您的kstream应用程序可以从每个代理中提取多少数据您的kstream性能您的序列化格式(如果您使用avro,数据大小将小得多)避免昂贵重启的解决方案是拥有一个持久的本地状态存储。例如,可以将默认状态存储文件夹(/tmp/kafka streams)Map到某种持久卷
1条答案
按热度按时间jw5wzhpr1#
发生这种情况有多种原因:
您的代理性能,即您的kstream应用程序可以从每个代理中提取多少数据
您的kstream性能
您的序列化格式(如果您使用avro,数据大小将小得多)
避免昂贵重启的解决方案是拥有一个持久的本地状态存储。例如,可以将默认状态存储文件夹(/tmp/kafka streams)Map到某种持久卷