Apache Apex vs Apache Flink

Bip*_*was 6 stream-processing apache-flink apache-apex

由于两者都是流式框架,一次处理事件,这两种技术/流式框架之间的核心架构差异是什么?

还有哪些特定用例,哪一个比另一个更合适?

pri*_*iya 7

正如你所提到的那样,两者都是流媒体平台,它可以在内存中实时计算.但是,仔细观察会有一些架构差异.

  1. Apex是纱线原生建筑,它充分利用纱线进行调度,安全和多租户,Flink与纱线集成.Apex可以使用纱线在操作员(容器)级别进行资源分配.
  2. 分区:Apex支持多种复杂的流分区方案,还允许控制运营商的位置和流本地性.Flink支持简单的散列分区和自定义分区.
  3. Apex允许动态更改拓扑,而无需关闭应用程序.Apex允许在运行时更新应用程序,以便您可以添加和删除运算符,更新运算符的属性,或在运行时自动缩放应用程序.Apache Flink不支持任何这些功能.
  4. 缓冲服务器:运营商之间有一条称为缓冲服务器的消息总线.订户可以连接到缓冲服务器并从特定偏移量中获取数据.这是窗口感知,并且只要没有订户需要它就保存数据.
  5. 容错:Apex具有增量恢复模型,在发生故障时,只能部分拓扑可以重新启动,无需返回源,在flink中它返回源.
  6. Apex具有高水平的api以及低水平的api.Flink只有高级API.
  7. Apex有一个名为Apache Malhar的库,它有各种经过良好测试的连接器和处理操作器,可以轻松重复使用.
  8. 最后,Apex更专注于产品化大数据应用程序,因此具有许多功能,有助于轻松开发和维护应用程序.

注意:我是Apache Apex的提交者,所以我听起来有点偏向于Apex :)

  • 不需要您的笔记:-) ...听起来确实有偏见(与不正确的有所不同),我可以看到您有一把斧头可以磨。Flink更擅长什么? (4认同)