当前位置 : 主页 > 编程语言 > 其它开发 >

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

来源:互联网 收集:自由互联 发布时间:2022-05-30
应用程序构建块 有状态函数为构建事件驱动的应用程序提供了一个框架。这里,我们将解释有状态函数体系结构的重要方面。 事件入口 有状态函数应用程序直接位于事件驱动的空间中
应用程序构建块

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

事件入口

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

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

 

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

有状态函数

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

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

 

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

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

持续状态

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

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

 

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

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

事件出口

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

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

 

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

Apache Flink系列-⑤应用程序构建块
上一篇:IM系统实战
下一篇:没有了
网友评论