流式处理框架之Storm

流式处理框架之Storm流式处理框架之 Storm 什么是 Storm Storm 是一个免费开源 分布式 高容错的实时计算系统 Storm 令持续不断的流计算变得容易 弥补了 Hadoop 批处理所不能满足的实时要求 Storm 经常用于在实时分析 在线机器学习 持续计算 分布式远程调用和 ETL 等领域 Storm 的部署管理非常简单 而且 在同类的流式计算工具 Storm 的性能也是非常出众的 Storm 的特性

大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说流式处理框架之Storm,希望您对编程的造诣更进一步.

流式处理框架之Storm

什么是 Storm

Storm是一个免费开源、分布式、高容错的实时计算系统。Storm令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求。Storm经常用于在实时分析、在线机器学习、持续计算、分布式远程调用和ETL等领域。Storm的部署管理非常简单,而且,在同类的流式计算工具,Storm的性能也是非常出众的。

Storm的特性

Storm可以处理大批量的数据,在保证高可靠性的前提下还可以让处理进行的更加实时,所有的信息都会被处理。

Storm还具备容错和分布计算这些特性,可以扩展到不同的机器上进行大批量的数据处理

易于扩展。对于扩展,你只需要添加机器和改变对应的topology(拓扑)设置。Storm使用Hadoop Zookeeper进行集群协调,这样可以充分的保证大型集群的良好运行。

每条信息的处理都可以得到保证。

Storm集群管理简易。

Storm的容错机能:一旦topology递交,Storm会一直运行它直到topology被废除或者被关闭。而在执行中出现错误时,也会由Storm重新分配任务。

尽管通常使用Java,Storm中的topology可以用任何语言设计。

storm 架构的优点

Storm 实现的一些特征决定了它的性能和可靠性的,Storm 使用 Netty 传送消息,这就消除了中间的排队过程,使得消息能够直接在任务自身之间流动,在消息的背后,是一种用于序列化和反序列化 Storm 的原语类型的自动化且高效的机制。

Storm 的一个最有趣的地方是它注重容错和管理,Storm 实现了有保障的消息处理,所以每个元组(Turple)都会通过该拓扑(Topology)结构进行全面处理;如果发现一个元组还未处理,它会自动从Spout处重发,Storm 还实现了任务级的故障检测,在一个任务发生故障时,消息会自动重新分配以快速重新开始处理。Storm 包含比 Hadoop 更智能的处理管理,流程会由zookeeper来进行管理,以确保资源得到充分使用。

简单编程,在大数据处理方面相信大家对hadoop已经耳熟能详,基于Google Map/Reduce来实现的Hadoop为开发者提供了map、reduce原语,使并行批处理程序变得非常地简单和优美。同样,Storm也为大数据的实时计算提供了一些简单优美的原语,这大大降低了开发并行实时处理的任务的复杂性,帮助你快速、高效的开发应用。

多语言支持,除了用java实现spout和bolt,你还可以使用任何你熟悉的编程语言来完成这项工作,这一切得益于Storm所谓的多语言协议。多语言协议是Storm内部的一种特殊协议,允许spout或者bolt使用标准输入和标准输出来进行消息传递,传递的消息为单行文本或者是json编码的多行。

支持水平扩展,在Storm集群中真正运行topology的主要有三个实体:工作进程、线程和任务。Storm集群中的每台机器上都可以运行多个工作进程,每个工作进程又可创建多个线程,每个线程可以执行多个任务,任务是真正进行数据处理的实体,我们开发的spout、bolt就是作为一个或者多个任务的方式执行的。因此,计算任务在多个线程,进程和服务器之间并行进行,支持灵活的水平扩展。

容错性强,如果在消息处理过程中出了一些异常,Storm会重新安排这个出问题的处理单元,Storm保证一个处理单元永远运行(除非你显式杀掉这个处理单元)。

可靠性的消息保证 Storm可以保证spout发出的每条消息都能被“完全处理”。

快速的消息处理,用Netty作为底层消息队列, 保证消息能快速被处理。

本地模式,支持快速编程测试。

Storm应用

Storm 有许多应用领域,包括实时分析、在线机器学习、信息流处理(例如,可以使用Storm 处理新的数据和快速更新数据库)、连续性的计算(例如,使用Storm 连续查询,然后将结果返回给客户端,如将微博上的热门话题转发给用户)、分布式RPC(远过程调用协议,通过网络从远程计算机程序上请求服务)、ETL(Extraction Transformation Loading,数据抽取、转换和加载)等。

Storm 的处理速度惊人,经测试,每个节点每秒可以处理100 万个数据元组。Storm 可扩展且具有容错功能,很容易设置和操作。Storm 集成了队列和数据库技术,Storm 拓扑网络通过综合的方法,将数据流在每个数据平台间进行重新分配。

GDCA一直以“构建网络信任体系,服务现代数字生活”的宗旨,致力于提供全球化的数字证书认证服务。其自主品牌——信鉴易®TrustAUTH® SSL证书系列,为涉足互联网的企业打造更安全的生态环境,建立更具公信力的企业网站形象。

文章转载:

https://www.trustauth.cn/wiki/21400.html

编程小号
上一篇 2025-01-05 17:29
下一篇 2025-01-05 15:29

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://daima100.com/webstorm-ji-huo/7664.html