📜  Apache Storm-简介

📅  最后修改于: 2020-12-02 05:53:58             🧑  作者: Mango


什么是Apache Storm?

Apache Storm是一个分布式实时大数据处理系统。 Storm设计为以容错和水平可伸缩方法处理大量数据。它是具有最高摄取速率能力的流数据框架。尽管Storm是无状态的,但它通过Apache ZooKeeper管理分布式环境和集群状态。这很简单,您可以并行对实时数据执行各种操作。

Apache Storm继续成为实时数据分析的领导者。 Storm易于设置,操作,并确保通过拓扑至少处理一次每条消息。

Apache Storm与Hadoop

基本上,Hadoop和Storm框架用于分析大数据。它们两者相辅相成,在某些方面有所不同。 Apache Storm会执行除持久性之外的所有操作,而Hadoop在所有方面都擅长,但在实时计算方面比较落后。下表比较了Storm和Hadoop的属性。

Storm Hadoop
Real-time stream processing Batch processing
Stateless Stateful
Master/Slave architecture with ZooKeeper based coordination. The master node is called as nimbus and slaves are supervisors. Master-slave architecture with/without ZooKeeper based coordination. Master node is job tracker and slave node is task tracker.
A Storm streaming process can access tens of thousands messages per second on cluster. Hadoop Distributed File System (HDFS) uses MapReduce framework to process vast amount of data that takes minutes or hours.
Storm topology runs until shutdown by the user or an unexpected unrecoverable failure. MapReduce jobs are executed in a sequential order and completed eventually.
Both are distributed and fault-tolerant
If nimbus / supervisor dies, restarting makes it continue from where it stopped, hence nothing gets affected. If the JobTracker dies, all the running jobs are lost.

Apache Storm的用例

Apache Storm以实时大数据流处理而闻名。因此,大多数公司都将Storm用作其系统的组成部分。一些值得注意的例子如下-

Twitter -Twitter将Apache Storm用于其“ Publisher Analytics产品”范围。 “发布商分析产品”处理Twitter平台中的每条推文和单击。 Apache Storm已与Twitter基础架构深度集成。

NaviSite -NaviSite正在使用Storm进行事件日志监视/审计系统。系统中生成的每个日志都将通过Storm。 Storm将根据配置的正则表达式集检查消息,如果存在匹配项,则该特定消息将保存到数据库中。

Wego -Wego是位于新加坡的旅行元搜索引擎。与旅行相关的数据来自世界各地的不同时间来源。 Storm帮助Wego搜索实时数据,解决并发问题并为最终用户找到最佳匹配。

Apache Storm的好处

这是Apache Storm提供的好处的列表-

  • Storm是开源,强大且用户友好的。它既可以用于小型公司,也可以用于大型公司。

  • Storm是容错的,灵活的,可靠的,并且支持任何编程语言。

  • 允许实时流处理。

  • 风暴之快令人难以置信,因为它具有处理数据的巨大能力。

  • 通过线性添加资源,Storm甚至可以在负载增加的情况下保持性能。它具有高度的可扩展性。

  • Storm会在几秒钟或几分钟内执行数据刷新和端到端交付响应,具体取决于问题。它具有非常低的延迟。

  • Storm具有运营情报。

  • 即使集群中的任何已连接节点死亡或消息丢失,Storm也可提供有保证的数据处理。