我正在构建一个具有以下要求的应用程序,我刚刚开始使用 flink。

  • 使用 50 个分区将数据摄取到 Kafka 中(传入速率 - 100,000 条消息/秒)
  • 从 Kafka 读取数据并实时处理每个数据(做一些计算,与旧数据进行比较等)
  • 将输出存储在 Cassandra 上

  • 我正在寻找一个实时流媒体平台,发现 Flink 非常适合实时和批处理。
  • 你认为 flink 最适合我的用例还是我应该使用 Storm、Spark 流或任何其他流平台?
  • 我是否需要在 google 数据流中编写一个数据管道来在 flink 上执行我的步骤序列,或者有没有其他方法来执行实时流的一系列步骤?
  • 假设我的每次计算需要 20 毫秒,我怎样才能用 flink 更好地设计它并获得更好的吞吐量。
  • 我可以使用 Redis 或 Cassandra 为每次计算在 flink 中获取一些数据吗?
  • 我能在 flink 中使用 JVM 内存缓存吗?
  • 我还可以根据某个时间窗口(例如 5 秒)的键聚合数据。例如,假设有 100 条消息传入并且 10 条消息具有相同的 key ,我可以将具有相同 key 的所有消息组合在一起并进行处理。
  • 是否有关于使用 flink 的最佳实践的教程?

  • 感谢并感谢您的所有帮助。

    最佳答案

    根据您的任务描述,Apache Flink 看起来很适合您的用例。

    一般来说,Flink 提供 low latency and high throughput 并有一个参数来调整这些。您可以从 Redis 或 Cassandra 读取和写入数据。但是,您也可以 store state internally in Flink 。 Flink 也有 sophisticated support for windows 。您可以阅读 blog on the Flink website ,查看 documentation 以获取更多信息,或按照此 Flink training 学习 API。

    关于apache-flink - 使用 Apache Flink 进行数据流传输,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37738102/

    10-15 14:23