「Apache Storm 2.0」リリース、Javaでコア機能を再実装

 Apache Stormコミュニティは5月30日、分散処理システム「Apache Storm 2.0.0」を公開した。約3年ぶりのメジャーリリースとなり、コア機能をJavaで書き直すことで性能を改善したという。

 Apache Stormは分散型ストリーミング処理のためのフレームワーク。ClojureとJavaで実装されており、高速、拡張性、信頼性、リアルタイム性などを特徴とする。任意のキューシステム、データベースと統合でき、リアルタイム分析、オンライン機械学習、分散型RPC、ETLなどさまざまな用途に利用できるとしている。

 Storm 2.0は、2016年に公開されたバージョン1.0に続く最新版となる。

 これまでコア機能の多くがClojureで実装されていたが、2.0ではこれを再構築し、Javaで実装した。これにより性能が大きく改善し、内部APIのメンテナンス性や拡張性も強化できるという。Javaのサポートは7が対象外となり、8以上に変更されている。

 コア機能としてスレッドモデル、高速なメッセージサブシステム、軽量のback pressureモデルを導入、スループット、遅延、消費電力の改善が図れるとしている。

 サーバーレス的なオペレーションを使うストリーミング処理のためのAPIを導入、spoutsとbolt APIを土台としており、複数のオペレーションを自動で融合してパイプラインを最適化できるとしている。Windowing APIも強化した。

 Apache Kafkaとの統合でも多くの変更が加わっている。非推奨扱いとなっていたStorm-Kafkaモジュールが削除され、Storm-kafka-clientでもSubscriptionインターフェイスがなくなるなど古い機能が削除となった。インターフェイスではTopicFilterとManualPartitionerを利用するように変更されている。KafkaBolt、FirstPollOffsetStrategyなども強化されている。

 このほか、SQL、メトリクス、API、リソースを認識したスケジューラーなどを強化し、セキュリティでもNimbus-adminグループなどの新機能が加わった。

Apache Storm
https://storm.apache.org/