我正在研究用于数据流的 apache flink,我有几个问题。任何帮助是极大的赞赏。谢谢。
1)创建翻滚窗口是否有任何限制。例如,如果我想为每个用户 ID 创建一个持续 2 秒的滚动窗口,假设我有超过 1000 万个用户 ID,那将是一个问题。(我正在使用 keyBy 用户 ID,然后创建一个 timeWindow 2 秒)?这些窗口在 flink 内部是如何维护的?
2)我查看了循环分区的重新平衡。假设我设置了一个集群,如果我的源并行度为 1,并且如果我进行重新平衡,我的数据是否会在机器之间进行混洗以提高性能?如果是这样,是否有特定的端口用于将数据传输到集群中的其他节点?
3) 状态维护有什么限制吗?我计划维护一些可能会变得非常大的用户 ID 相关数据。我读到了 flink 使用 Rocks db 来维护状态。只是想检查是否对可以维护多少数据有任何限制?
4)如果数据量较少,状态在哪里维护?(我猜在 JVM 内存中)如果我的集群上有几台机器,每个节点都可以获得当前状态版本吗?