Apache flink 用于无状态处理的Flink

Apache flink 用于无状态处理的Flink,apache-flink,flink-streaming,stateless,event-driven-design,Apache Flink,Flink Streaming,Stateless,Event Driven Design,我是flink的新手,我们的用例处理无状态计算。 读取事件、处理事件并持久化到数据库中。但是Flink文档从来没有提到过无状态处理。用于查找无状态示例或文档的任何示例存储库 最后,对于这个用例,哪个Flink模型有效?流应用程序或事件驱动应用程序。文档中非常强调有状态流处理,因为社区为创建了一个高性能、容错的流处理器而感到自豪,该处理器即使在大规模运行有状态管道时也能提供一次准确的保证。但是你当然可以在不使用状态的情况下很好地使用Flink 然而,真正的无状态应用程序很少。即使在应用程序不执行任

我是flink的新手,我们的用例处理无状态计算。 读取事件、处理事件并持久化到数据库中。但是Flink文档从来没有提到过无状态处理。用于查找无状态示例或文档的任何示例存储库


最后,对于这个用例,哪个Flink模型有效?流应用程序或事件驱动应用程序。

文档中非常强调有状态流处理,因为社区为创建了一个高性能、容错的流处理器而感到自豪,该处理器即使在大规模运行有状态管道时也能提供一次准确的保证。但是你当然可以在不使用状态的情况下很好地使用Flink

然而,真正的无状态应用程序很少。即使在应用程序不执行任何明显有状态的操作(如窗口或模式匹配)的情况下,状态也需要只传递一次容错语义。Flink可以确保每个传入事件只在接收器中保留一次,但这样做需要Flink的源和接收器保持状态,并且必须检查该状态(并在失败后恢复)。这一切都是透明处理的,除了您需要启用和配置检查点之外,假设您只关心一次保证

Flink文档包括关于的教程,其中包括一些无状态的示例和练习()

Flink有三个主要API:

  • 数据流API:此低级API功能非常强大,但此处列出的其他API在某些用例中具有强大的优势。这是一个很好的起点。另见

  • Flink SQL和表API:这特别适合ETL和分析工作负载。这是一个很好的起点

  • 有状态函数API:该API提供了一组不同的抽象,以及一个支持各种SDK的云本机语言无关运行时。对于事件驱动的应用程序来说,这是一个很好的选择。这些都是很好的起点


谢谢@David Anderson。在哪里可以获得Flink流媒体与Flink事件驱动应用程序的详细信息?我们的用例不能满足于SQLs。它涉及大量的计算。任何建议都会非常有用。在不了解更多用例需求的情况下,我不知道该建议什么。值得一提的是,我不明白为什么“繁重的计算”会排除Flink SQL。使用SQL构建的管道可以非常高效。