apache apex vs apache flink

dfty9e19  于 2021-06-25  发布在  Flink
关注(0)|答案(1)|浏览(548)

由于这两种技术都是一次处理事件的流框架,那么这两种技术/流框架之间的核心体系结构区别是什么?
另外,有哪些特定的用例一个比另一个更合适?

vyu0f0g1

vyu0f0g11#

正如您所提到的,这两个平台都是流媒体平台,可以实时进行内存计算。但是当你仔细观察时,会发现一些架构上的差异。
apex是yarn的本地架构,它充分利用yarn进行调度、安全和多租户,其中flink与yarn集成在一起。apex可以使用yarn在操作员(容器)级别进行资源分配。
分区:apex支持多种复杂的流分区方案,还允许控制操作符位置和流位置。flink支持简单散列分区和自定义分区。
apex允许动态更改拓扑,而不必关闭应用程序。apex允许在运行时更新应用程序,以便您可以添加和删除运算符、更新运算符的属性或在运行时自动缩放应用程序。apacheflink不支持这些功能。
缓冲服务器:操作员之间有一个称为缓冲服务器的消息总线。订户可以连接到缓冲服务器并从特定偏移量获取数据。这是窗口感知的,只要没有订户需要它,它就会保存数据。
容错性:apex具有增量恢复模型,在发生故障时只能重新启动部分拓扑,无需返回源代码,在flink中返回源代码。
apex有高级api和低级api。flink只有高级api。
apex有一个名为apachemalhar的库,它有大量经过良好测试的连接器和处理操作符,可以很容易地重用。
最后,apex更专注于大数据应用的产品化,因此它有许多特性,有助于简化应用程序的开发和维护。
注意:我是ApacheApex的提交者,所以听起来可能对apex有偏见:)

相关问题