微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Apache Flink系列-⑤应用程序构建块

应用程序构建块

有状态函数为构建事件驱动的应用程序提供了一个框架。这里,我们将解释有状态函数体系结构的重要方面。

事件入口

有状态函数应用程序直接位于事件驱动的空间中,因此自然要从将事件引入系统开始。

Apache Flink系列-⑤应用程序构建块

 

在有状态函数中,将记录接收到系统中的组件称为事件入口。这可以是任何内容,从卡夫卡主题到消息队列,再到http请求——任何可以将数据输入系统并触发初始函数开始计算的内容

有状态函数

图的核心是同名的有状态函数

Apache Flink系列-⑤应用程序构建块

 

把这些当做你服务的基石。它们可以任意地相互传递消息,这是该框架摆脱传统的流处理世界观的一种方式。这些函数不需要建立静态数据流DAG,而是可以以任意的、可能是循环的、甚至是往返的方式相互通信。

如果您熟悉actor编程,那么它在组件之间动态传递消息的能力上确实有一些相似之处。然而,有一些显著的差异。

持续状态

首先,所有函数都有本地嵌入状态,称为持久状态。

Apache Flink系列-⑤应用程序构建块

 

在失败的情况下,将回滚整个世界状态(持久状态和消息),以模拟完全无故障的执行。

这些保证不需要数据库,相反,有状态函数利用了Apache Flink经验证的快照机制。

事件出口

最后,应用程序可以通过事件出口将数据输出到外部系统。

Apache Flink系列-⑤应用程序构建块

 

当然,函数可以执行任意计算,并且可以做任何他们喜欢的事情,包括进行RPC调用和连接到其他系统。通过使用事件出口,应用程序可以利用构建在Apache Flink连接器生态系统之上的预构建集成。

Apache Flink系列-⑤应用程序构建块

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐