本文对比了 Heron 和常见的流处理项目,包括 Storm、Flink、Spark Streaming 和 Kafka Streams,归纳了系统选型的要点。此外实践了 Heron 的一个案例,以及讨论了 Heron 在这一年开发的新特性。
在今年6月期的“基础篇”中,我们通过学习 Heron 的基本概念、整体架构和核心组件等内容,对 Heron 的设计、运行等方面有了基本的了解。在这一期的“应用篇”中,我们将 Heron 与其他流行的实时流处理系统(Apache Storm 、Apache Flink、Apache Spark Streaming 和Apache Kafka Streams)进行比较。在此基础上,我们再介绍如何在实际应用中进行系统选型。然后我们将分享一个简单的案例应用。最后我们会介绍在即将完结的2017年里 Heron 有哪些新的进展。
实时流处理系统比较与选型
当前流行的实时流处理系统主要包括 Apache 基金会旗下的 Apache Storm、Apache Flink、Apache Spark Streaming 和 Apache Kafka Streams 等项目。虽然它们和 Heron 同属于实时流处理范畴,但是它们也有各自的特点。
Heron 对比 Storm(包括 Trident)
在 Twitter 内部,Heron 替换了 Storm,是流处理的标准。
数据模型的区别
Heron 兼容 Storm 的数据模型,或者说 Heron 兼容 Storm 的 API,但是背后的实现完全不同。所以它们的应用场景是一样的,能用 Storm 的地方也能用 Heron。但是 Heron 比 Storm 提供更好的效率,更多的功能