官方网站链接:http://storm.apache.org/
简介
Storm是一种分布式的、高可靠、可容错的针对大规模流式数据处理的系统,可以帮助用户实现从各种数据来源中连续捕获和实时处理海量数据,为应用提供流式计算任务的分解、执行、管理、监控等全套解决方案。
应用场景
Storm方便用户对多种流式数据进行实时分析,典型的应用场景有:持续计算、条件过滤、中间计算、推荐系统、分布式RPC、批处理、热度统计、IOT等。
功能特性
1. 提供针对流式数据的实时处理能力
具备高吞吐的流式计算引擎 ,提供每秒百万级别的流计算处理能力。
2. 支持高容错和高可靠
实时计算引擎会监控工作进程和节点运行状况。将故障节点的任务迁移至正常节点,并保证数据的可靠性。实时计算引擎能够保证每个数据流至少被处理一次,保证数据不丢失,确保了数据的可靠性。
3. 提供可视化任务管理
提供可视化界面对作业任务进行管理,包括任务的创建、启动、停止以及任务状态和各项指标监控等。
支持远程过程调用,后台计算节点可以接受客户端的RPC请求,将该请求发送至流式计算任务中,并将计算结果返回到客户端。
4. 提供数据安全保障
提供包括用户认证、用户权限(服务组件使用权限)等在内的一系列安全机制。集群在响应用户请求时,对用户身份进行认证;同时校验用户是否有权限使用该服务组件。
5. 支持事务性
实时计算引擎提供给了直观便利的接口,可以严格按照数据流的顺序进行数据处理。满足对消息处理有着极其严格要求的场景。
6. 兼容多种开发语言
支持在实时计算引擎之上使用各种编程语言,默认支持Clojure、Java、Ruby和Python,用户可按需添加编程语言。