我正在构建一个具有以下要求的应用程序,我刚刚开始使用 flink。
- 使用 50 个分区将数据摄取到 Kafka(传入速率 - 100,000 msgs/sec)
- 从 Kafka 读取数据并实时处理每个数据(进行一些计算,与旧数据进行比较等)
- 将输出存储在 Cassandra 上
我一直在寻找一个实时流媒体平台,发现 Flink 非常适合实时和批处理。
- 你认为 flink 最适合我的用例还是应该使用 Storm、Spark 流媒体或任何其他流媒体平台?
- 我是否需要在谷歌数据流中编写数据管道以在 flink 上执行我的一系列步骤,或者是否有任何其他方式来执行实时流的一系列步骤?
- 假设我的每次计算需要 20 毫秒,我怎样才能更好地使用 flink 设计它并获得更好的吞吐量。
- 我可以使用 Redis 或 Cassandra 在 flink 中为每次计算获取一些数据吗?
- 我可以在 flink 中使用 JVM 内存缓存吗?
- 我也可以在某个时间窗口(例如 5 秒)内基于键聚合数据。例如,假设有 100 条消息进来,并且 10 条消息具有相同的密钥,我可以将具有相同密钥的所有消息组合在一起并处理它。
- 有没有关于使用 flink 的最佳实践的教程?
感谢并感谢您的所有帮助。