使用 Apache Flink 进行数据流传输 [英] Using Apache Flink for data streaming

查看:36
本文介绍了使用 Apache Flink 进行数据流传输的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建一个满足以下要求的应用程序,我刚刚开始使用 flink.

I am working on building an application with below requirements and I am just getting started with flink.

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

我一直在寻找实时流媒体平台,发现 Flink 非常适合实时和批处理.

I was looking for a real time streaming platform and found Flink to be a great fit for both real time and batch.

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

感谢并感谢您的所有帮助.

Thanks and appreciate all your help.

推荐答案

根据您的任务描述,Apache Flink 看起来非常适合您的用例.

Given your task description, Apache Flink looks like a good fit for your use case.

总的来说,Flink 提供了 低延迟和高吞吐量 并有一个参数来调整这些.您可以从 Redis 或 Cassandra 读取和写入数据.但是,您也可以在 Flink 内部存储状态.Flink 也有完善的 Windows 支持.您可以阅读 Flink 网站上的博客,查看 文档 了解更多信息,或关注此Flink training 学习 API.

In general, Flink provides low latency and high throughput and has a parameter to tune these. You can read and write data from and to Redis or Cassandra. However, you can also store state internally in Flink. Flink does also have sophisticated support for windows. You can read the blog on the Flink website, check out the documentation for more information, or follow this Flink training to learn the API.

这篇关于使用 Apache Flink 进行数据流传输的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆