我正在构建一个具有以下需求的应用程序,我刚刚开始使用flink。
- 用50个分区将数据引入Kafka(传入速率-100000消息/秒)
- 从Kafka中读取数据并实时处理每个数据(进行一些计算,与旧数据进行比较等)
- 将输出存储在Cassandra上
我正在寻找一个实时流媒体平台,发现Flink非常适合实时和批量。
- 你认为flink最适合我的用例吗?还是我应该使用Storm、Spark流媒体或任何其他流媒体平台
- 我是否需要在谷歌数据流中编写一个数据管道来执行我在flink上的一系列步骤,或者是否有其他方法来执行实时流的一系列操作
- 假设我的每次计算花费大约20毫秒,我如何才能更好地设计它并获得更好的吞吐量
- 我可以使用Redis或Cassandra在flink中为每次计算获取一些数据吗
- 我能在flink中的内存缓存中使用JVM吗
- 我还可以在某个时间窗口(例如5秒)内基于关键字聚合数据。例如,假设有100条消息传入,10条消息具有相同的密钥,我可以将具有相同密钥的所有消息分组并处理它吗
- 有没有关于使用flink的最佳实践的教程
感谢您的帮助。
考虑到您的任务描述,ApacheFlink看起来非常适合您的用例。
一般来说,Flink提供低延迟和高吞吐量,并有一个参数来调整这些特性。您可以从Redis或Cassandra读取数据并向其写入数据。不过,您也可以在Flink内部存储状态。Flink也对windows提供了复杂的支持。您可以阅读Flink网站上的博客,查看文档以了解更多信息,或通过本次Flink培训学习API。