Storm 2.0.0 发布,支持Java架构

作者:jiangzz 电话:15652034180 微信:jiangzz_wx 微信公众账号:jiangzz_wy

2019年6月份,Apache Storm PMC宣布发布Storm 2.0.0。此版本的主要亮点是Storm已经在纯Java中重新构建。以前,Storm的核心功能很大一部分是在Clojure中实现的。此版本还包括在性能,新流API,窗口增强和Kafka集成更改方面的重大改进。

用Java实现的新架构

在此版本中,Storm已经重新构建,其核心功能在纯Java中实现。这种新的实现显着改善了其性能,并使内部API更易于维护和扩展。以前的语言Clojure经常为进入新贡献者提供障碍。现在,对于那些不想学习Clojure以便贡献的开发人员来说,Storm的代码库现在更容易被访问。

新的高性能核心

Storm 2.0.0拥有一个新的核心,具有更精简的线程模型,超快的消息传递子系统和轻量级的背压模型。这旨在突破吞吐量,延迟和能耗的边界,同时保持向后兼容性。此外,这使得Storm 2.0成为第一款打破1微秒延迟障碍的流媒体引擎。

新Streams API

这个版本有一个新的类型API,它将使用功能样式操作更容易地表达流式计算。它建立在Storm的核心喷口和螺栓API之上,并自动将多个操作融合在一起。这将有助于优化管道。

窗口增强功能

Storm 2.0.0的窗口API现在可以将窗口状态保存/恢复到配置的状态后端。这将支持更大的连续窗口。此外,现在可以通过API访问窗口边界。

Kafka改进

Kafka集成变化,删除storm-kafka.由于Kafka对底层客户端库的弃用,storm-kafka模块已被删除。

用户必须移动到storm-kafka-client模块。这使用Kafka的’kafka-clients’库进行集成。转到使用KafkaConsumer.assign API在Storm 1.x中使用的Kafka自己的机制已经在2.0.0中完全删除了。由于对订阅行为的控制有限,storm-kafka-client订阅界面也已被删除。它已被’TopicFilter’和’ManualPartitioner’接口所取代。对于自定义订阅用户,请转至storm-kafka-client文档,该文档描述了如何自定义分配。

其他kafka亮点

KafkaBolt现在允许您指定在将批处理写入Kafka时将调用的回调。
First TrollOffsetStrategy行为在non-Trident 和 Trident spouts之间保持一致。
Storm-kafka-client现在有一个事务性非不透明的Trident spout。

用户还被告知将不再维护1.0.x版本行,并强烈建议用户升级到更新版本。 Java 7支持也已被删除,Storm 2.0.0需要Java 8。

微信公众账号

猜你喜欢

转载自blog.csdn.net/weixin_38231448/article/details/92382356