Apache Storm 0.9.3 发布,虽然只是一个维护版本,但它不仅改进了与 Apache Kafka 的集成,还提供了与 HDFS、HBase 的集成,并减少了依赖冲突。此外,它还修复了 100 多个 Bug,使其稳定性更好。具体改进如下:
- 改进与 Kafka 的集成——Apache Strom 自 0.9.2-incubating 版本以来就支持使用 Apache Kafka 作为流数据源。0.9.3 版本进行了若干改进,其中包括向一个或多个 Kafka 集群或 Topic 写入数据。现在,Storm 用户可以将 Kafka 用作流数据的源和目的地。这一点考虑了拓扑间通信、拓扑链、基于 spout/bolt 的拓扑与基于 Trident 的数据流之间的结合以及与支持从 Kafka 获取数据的任何外部系统的集成。更多信息请查看 storm-kafka 项目文档。
- HDFS 集成——Apache Storm 的 HDFS 集成包含多个 bolt 和 Trident state 实现,允许拓扑开发人员从任何 Storm 拓扑向 HDFS 写入数据。更多信息请查看 storm-hdfs 项目文档。
- HBase 集成——Apache Storm 的 HBase 集成包含若干组件,允许 Storm 拓扑实时地向 HBase 写入数据及查询,并允许用户将 HBase 中的数据资产作为流数据查询,以及将 HBase 用于保存流计算结果。更多信息请查看 storm-hbase 项目文档。
- 减少依赖冲突——在 Storm 的先前版本中,用户拓扑的依赖项经常与 Storm 使用的库相冲突。Storm 0.9.3 更改了多个经常导致冲突的依赖包的存放位置,详细信息请查看发布说明。
- 改进多语言——Storm 0.9.3 包含一个新的 Node.js 多语言实现,允许开发人员使用 JavaScript 编写 spouts 和 bolts。此外,多语言协议的健壮性和错误处理能力也得到了很大的提升。这也导致多语言 API 发生了向后不兼容的变化。因此,在升级之前,使用了多语言拓扑的用户应查看 Python、Ruby 和 JavaScript 的多语言示例以确定其影响。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论