写点什么

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:004008
用户头像

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

关注

评论

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

33K Star!这才是程序员需要的神器。。。

Jackpop

easyrecovery2023手机版数据恢复软件下载

茶色酒

EasyRecovery EasyRecovery15 easyrecovery2023

Linux 定时器介绍

eng八戒

c 定时器 Linux Kenel C++

3月寒窗!啃透美团保姆级分布式进阶技术手册,4月终入美团定L8

程序知音

Java 分布式 java架构 后端技术

AngularJS进阶(十六)脏值检查及语音识别集成

No Silver Bullet

语音识别 AngularJS 12月月更 脏值检查

8年程序员年初被迫毕业,前后面试30家公司,如今终于拿到Offer!

程序员小毕

程序员 面试 程序人生 后端 架构师

看完这篇,还不懂JAVA内存模型(JMM)算我输

JAVA旭阳

Java 并发

架构实战-模块1作业

mm

架构实战营 10期

面对当下最热的多模态,为什么这些业界和学界专家说“不必追热点”

小红书技术REDtech

“算法考核没过,老板找我聊了3个小时”:离职程序员重刷数学题

钟奕礼

Java 程序员 java面试 java编程

这才是Git的正确学习方式!

Jackpop

Linux Network RSS RPS 疑惑

Geek_f24c45

container network veth RPS

EasyRecovery2023个人免费版电脑数据恢复软件

茶色酒

EasyRecovery easyrecovery2023

刨析一下C++构造析构函数能不能声明为虚函数的背后机理?

eng八戒

继承 纯虚函数 C++

C语言怎么给函数添加形参的默认值

eng八戒

c 函数 参数默认值

下次面试再一上来就问我线程有哪些状态,我上去就是给他一 jio

钟奕礼

Java 程序员 java面试 java编程

Python初学者必备!适合新手阅读的Github开源代码。。。

Jackpop

AngularJS进阶(十四)AngularJS路由问题分析

No Silver Bullet

路由 AngularJS 12月月更

AngularJS进阶(十五)Cookie ‘data‘ possibly not set or overflowed because it was too large

No Silver Bullet

Cookie AngularJS 12月月更

MySQL锁,锁的到底是什么?

Java永远的神

MySQL 数据库 程序员 面试 后端

一文了解 Go 接口

陈明勇

Go golang 接口

信号量的无序竞争和有序竞争

eng八戒

c Linux Kenel 信号量 C++

100页6W字的Java面试题,去过大厂面试的程序员都说被问到过

钟奕礼

Java 程序员 java面试 java编程

日期格式化 YYYY-MM-DD 出现时间偏移量

HoneyMoose

cmake 入门笔记

eng八戒

c makefile 工程管理 cmake C++

防治“虚假种草”,小红书技术团队干了这几件大事

小红书技术REDtech

亚马逊 CTO Werner Vogels:2023 年及未来五大技术趋势预测

亚马逊云科技 (Amazon Web Services)

人工智能 大数据 亚马逊云科技

迎战大厂!“金九银十”和秋招通过率达95%的Java面试要点集锦

钟奕礼

Java 程序员 java面试 java编程

太简单了,一文彻底搞懂Jenkins的用法!

Jackpop

思路一转,春暖花开!动动手指,这段程序性能又双叒提升2s~15s

靠谱的程序员

MySQL MyBatisPlus Mybatis-Plus

架构实战营模块1第2课 - 如何画出优秀的架构图

净意

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