1.背景介绍
这篇论文的题目很奇特,一度认为这是篇假论文。
Storm是针对流计算的,为早期的流处理系统,其它类似的比较知名的流处理系统还有:S4、MillWheel、Samza和Spark Streaming等。Storm最初由BackType的Nathan Marz建立起来,然后BackType于2011年被Twitter收购,进而被Twitter全方面提升:支持更多的节点和降低Storm对Zookeeper的依赖性。2012年Twitter开源了Storm。
Storm是一种实时、容错和分布式流数据处理系统。Storm被用于在Twitter上进行大规模,实时的各种关键计算。文章描述了Storm的体系结构及其分布式扩展和容错的方法。许多现代数据处理环境需要在实时的流数据上进行复杂的计算。在Twitter中尤其如此,每次与用户的交互都需要做出许多复杂的决策,通常是基于刚刚创建的数据。Storm是Twitter的实时分布式流数据处理引擎,用来支持实时流数据管理工作,而这些对于Twitter提供服务都是至关重要的。
Storm被设计为:
- 延展性(Scalable):操作团队需要轻松地从Storm集群添加或删除节点,而不会中断通过Storm拓扑的现有数据流。
- 容错(Resilient):容错对于Storm至关重要,因为它通常部署在大型集群上,而硬件组件可能会出现故障。Storm集群必须持续处理现有拓扑,同时将性能影响降至最低。
- 可扩展(Extensible):Storm拓扑可能会调用任意外部函数(例如,使用MySQL服务来刻画社交图),因此需要一个可扩展的框架。
- 高效(Effi