企业业务拓展进程加快,数据规模变得越来越大,由于数据极快的增长速度以及非结构化的特性,常用的软硬件工具已无法在较短时间内对数据进行采集、管理和处理。很多企业选择在阿里云上使用Storm搭建大规模消息分发和实时数据流处理系统。
一、实时大数据处理器—Storm
Storm全称是Apache Storm,Apache Storm是一个分布式实时大数据处理系统,Storm设计用于在容错和水平可扩展方法中处理大量数据。最早由Nathan Marz开发,在被Twitter收购后开源,并在2014年9月起成为Apache顶级开源项目。Storm被广泛用于各种商业网站,包括 Twitter、Yelp、Groupon、百度、淘宝等。Storm的使用场景非常广泛,例如实时分析、在线机器学习、连续计算、分部署RPC、ET| 等。Storm有着非常快的处理速度,单节点可以达到百万个元组每秒,此外它还具有高扩展、容错、保证数据处理等特性。
二、实用示例
“发布商分析产品”处理Twitter平台中的每一个tweets和点击。Apache Storm与Twitter基础架构深度集成。
· NaviSite
NaviSite正在使用Storm进行事件日志监控/审计系统。系统中生成的每个日志都将通过Storm。Storm将根据配置的正则表达式集检查消息。如果存在匹配,那么该特定消息将保存到数据库。
· Wego
Wego是新加坡的旅行元搜索引擎。其中的旅行相关数据来自世界各地,但是由于太多的来源和不同的时区,Storm帮助Wego搜索实时数据,解决并发问题,并为最终用户找到最佳匹配。
三、Storm自身优势
· Storm是开源的,强大的,用户友好的。它可以用于中小型企业和大企业。
· Storm是容错的,灵活的,可靠的,并且支持任何编程语言。
· 允许实时流处理。
· Storm巨大的数据处理能力,使它拥有难以置信的力量。
· Storm即使在负载增加的情况下,也可以通过线性增加资源来保持性能,并且具有非常低的延迟。
· Storm拥有操作智能。
· Storm即使在群集中任何连接的节点死或消息丢失的情况下,也能够照常提供保证的数据处理。