莫方教程网

专业程序员编程教程与实战案例分享

了解大数据,怎可不知Storm(大数据才是最了解你的人)

提到大数据,就不能不提大数据的主流三大分布式计算系统:Hadoop,Spark和Storm,在前几期中,小编已经为大家介绍过Hadoop和Spark的相关信息,本期小编就为大家介绍以实时处理大数据流而闻名于世的Storm

关于Storm

Storm是Twitter主推的分布式计算系统,主要应用于流式数据实时处理领域,它由BackType团队开发,是Apache基金会的孵化项目。它在Hadoop的基础上提供了实时运算的特性,可以实时的处理大数据流(秒级计算)!不同于Hadoop和Spark,Storm不进行数据的收集和存储工作,它直接通过网络实时的接受数据并且实时的处理数据,然后直接通过网络实时的传回结果。

Storm的总体架构

Storm的总体架构与Hadoop非常相似,也因为它解决了Hadoop实时性差的问题,故而被称为“实时的Hadoop”系统。可以说,Storm之于实时处理,就好比Hadoop之于批处理,下表是从系统角色、应用名称、组件接口三个方面展示了 Hadoop 与 Storm之间的对应关系和相似性。

Storm的独特特点

Storm有着许多独特的特点,让它能够在众多大数据开源工具中脱颖而出:简单的编程模型 类似于MapReduce降低了并行批处理复杂性,Storm降低了进行实时处理的复杂性。编程语言多样性 默认支持Clojure、Java、Ruby和Python,若要增加对其他语言的支持 只需实现一个简单的Storm通信协议即可。容错率高 Storm会管理工作进程和节点的故障。水平扩展 计算是在多个线程、进程和服务器之间并行进行的。高可靠性 Storm保证每个消息至少能得到一次完整处理,任务失败时,它会负责从消息源重试消息。本地模式 Storm有一个“本地模式”,可以在处理过程中完全模拟Storm集群,快速进行开发和单元测试。

Storm的应用领域 Storm在许多领域是都有应用,包括实时分析、在线机器学习、信息流处理、连续性的计算、分布式RPC、ETL等,因为它独特的实时处理性能强大,目前已被许多知名公司所使用,比如Twitter、雅虎、Spotify和The Weather Channel等。

总结

Storm相比基于传统方案实现的数据分析处理系统在效率、实时性、可伸缩性和可用性方面都更具有优势。使用Storm提供的框架来编写实时数据处理应用,可以大大降低开发和部署的复杂度。可以预见,基于Storm系统进行实时流数据处理应用开发将是这个领域的潮流。

文章来源:大数据科技视界(微信公众号:bigdata_horizon)

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言

    滇ICP备2024046894号-1