写点什么

Apache Storm 1.0 发布,带来性能提升和许多新特性

  • 2016-04-17
  • 本文字数:968 字

    阅读完需:约 3 分钟

1.0 版本是 Apache Storm 发展过程中一座重要的里程牌,负责 Apache Storm 项目的 Apache 软件基金会副总裁 P. Taylor Goetz 这样写道。该版本包含许多新特性和改进。尤其是,Goetz 声称它带来了3 到16 倍的性能提升。

Storm 是一个事件处理程序,可以对流数据进行分布式处理。一个 Storm 应用程序由“spouts”和“bolts”构成,它们被配置成一个有向无环图,用来表示信息源和数据处理程序。Storm 的主要特点是能处理实时数据,不像 Hadoop 那样允许批处理。

据 Goetz 介绍,与先前的版本相比,Storm 1.0 的性能最高提升了 16 倍,在大多数情况下预计都会有 3 倍的性能提升。特别地,性能的重大改善似乎来自下面的更改:

  • SpoutOutputCollector.emit()调用中使用 Java重新实现了Clojure reduce函数;
  • DisruptorQueue引入批处理,代替 spout 层的批处理,这以增加延迟为代价大幅提升了吞吐量。

特别地,雅虎工程师所做的大量的基准测试表明,与其他两个流行的分布式处理框架 Apache Flink Apache Spark 相比,性能历来是 Storm 的主要竞争优势之一。

此外,Storm 1.0 包含许多值得注意的新特性,例如:

  • Pacemaker:一个处理工作进程心跳的心跳守护进程,它常驻内存,提供了比 ZooKeeper 更好的性能;
  • 分布式缓存及相关 API:它允许在拓扑之间共享文件。文件可以随时更新,而不需要重新部署受影响的拓扑。这对于当前将资源文件包含在拓扑 jar 包中的做法是一种改进,这种做法更新文件时需要重新部署;
  • 高可用 Nimbus:使用一个 Nimbus 节点的动态集群代替单个 Nimbus 实例,如果当前的群首节点出现故障,就会选出新的“群首”;
  • 流窗口 API:新增窗口定义支持,这些窗口可以应用于数据处理,比如在最后一个小时里计算最热门的话题。以前,开发人员必须构建自己的窗口逻辑;
  • 自动反压:当任务缓冲区的大小达到了指定的限制(以百分比表示),Storm 就会自动降低拓扑 spouts 的速度;
  • 资源感知调度器:一种新的调度器实现,在将任务分配给最能满足特定需求的工作进程时考虑了集群中可用的内存和 CPU 资源;
  • 动态工作进程性能分析:旨在让用户可以从 Storm UI 获取工作进程性能数据,比如堆转储文件、JStack 输出。

读者可以从 GitHub 上下载 Apache Storm 1.0,或者从 Storm 下载页面上获取各种打包格式。

查看英文原文: Apache Storm Reaches 1.0, Brings Improved Performance, Many New Features

2016-04-17 19:004425
用户头像

发布了 1008 篇内容, 共 444.6 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

阿里内部首发1000页涨薪面试宝典:Spring+SpringMVC+MyBatis框架整合开发实战

Java架构追梦

Java 源码 架构 面试 SSM框架

在阿里内部,做Java到金字塔顶端的人平时都如何学习源码?

小Q

Java 学习 架构 面试 程序猿

极客大学 - 架构师训练营 第六周作业

9527

企业级RPC框架zRPC

万俊峰Kevin

RPC microser Go 语言

ConcurrentHashMap核心原理,彻底给整明白了

AI乔治

Java 架构 分布式 线程

Netty源码解析 -- 零拷贝机制与ByteBuf

binecy

Netty 源码剖析

数字“异化”生存

脑极体

当 TiDB 与 Flink 相结合:高效、易用的实时数仓

Apache Flink

flink #TiDB

架构师训练营第二周课后作业

天涯若海

极客大学架构师训练营

天呐!价值2980元Java成神面试题竟在Github开源了

996小迁

Java 学习 架构 面试

《Maven实战》.pdf

田维常

程序员

狼人杀背后的秘密,实时语音你不知道的那些事

anyRTC开发者

音视频 WebRTC 语音 RTC 安卓

第6周学习总结

饭桶

为产业AI去障:联想的边缘突破

脑极体

真香!天天996进不去阿里?看5年苦逼程序猿怎么逆袭阿里P7

小Q

Java 学习 架构 面试 程序猿

Flink在窗口上应用函数-6-9

小知识点

scala 大数据 flink

极客大学 - 架构师训练营 第六周

9527

码农会锁,synchronized 对象头结构(mark-word、Klass Pointer)、指针压缩、锁竞争,源码解毒、深度分析!

小傅哥

小傅哥 虚拟机 synchronized mark-word Klass Pointer

直播带货大战在即:账号交易灰产猖獗

石头IT视角

第6周作业

饭桶

零基础IM开发入门(三):什么是IM系统的可靠性?

JackJiang

网络编程 即时通讯 IM

面试官:面对千万级、亿级流量怎么处理?

艾小仙

Java 缓存 分布式 高并发 中间件

通过GUI界面更改 Ubuntu 20 LTS apt 源为阿里云

jiangling500

ubuntu 阿里云 apt

web worker的介绍和使用

程序那些事

多线程 Web Worker 异步模型 异步编程 web技术

小白学算法:买卖股票的最佳时机!

王磊

Java 算法

gRPC服务注册发现及负载均衡的实现方案与源码解析

网管

负载均衡 gRPC etcd 服务注册与发现 Go 语言

DeFi流动性挖矿系统开发技术方案

薇電13242772558

区块链 defi

分析和解决JAVA 内存泄露的实战例子

AI乔治

Java 架构 JVM 内存泄露

频繁操作本地缓存导致YGC耗时过长

AI乔治

Java 架构 JVM GC

甲方日常 40

句子

工作 随笔杂谈 日常

Vidyo独特的互联网适应性

dwqcmo

音视频 集成架构 解决方案 智能硬件

Apache Storm 1.0发布,带来性能提升和许多新特性_语言 & 开发_Sergio De Simone_InfoQ精选文章