【发布时间】:2021-01-12 09:50:16
【问题描述】:
我有使用会话窗口的 kafka 流应用程序,在指定窗口期间,给定键的消息数量可能会增长超过 30 MB,这在写入状态存储主题时超过了 max.request.size。
有没有办法根据大小(MB)或计数(消息数)对会话窗口的大小施加限制?
我希望利用 Kstream 的一些特性,而不是从头开始实现。
【问题讨论】:
标签: apache-kafka apache-kafka-streams windowing
我有使用会话窗口的 kafka 流应用程序,在指定窗口期间,给定键的消息数量可能会增长超过 30 MB,这在写入状态存储主题时超过了 max.request.size。
有没有办法根据大小(MB)或计数(消息数)对会话窗口的大小施加限制?
我希望利用 Kstream 的一些特性,而不是从头开始实现。
【问题讨论】:
标签: apache-kafka apache-kafka-streams windowing
如果你更关心消息的数量而不是时间窗口,你可以使用滑动窗口,它将最后 n 条记录保存在一个窗口中。此外,您还可以更新配置中的 window.size.ms 或生产者配置中的 max.request.size,但如果这样做,您可能还需要调整一些超时和其他配置。
编辑:这似乎是一个正在解决的已知问题 KIP_659
【讨论】: