分散型ストリーミングプラットフォーム「Apache Kafka 2.0」リリース

 分散型ストリーミングプラットフォームのApache Kafka開発チームは7月30日、最新のメジャーリリース版となる「Apache Kafka 2.0.0」を公開した。安全性や信頼性に関連した機能強化が加わっている。

 Apache KafkaはScalaとJavaで実装された分散型ストリーミングプラットフォーム。クライアントに対しデータをリアルタイムでストリーミング配信できる。配信するデータの記録・処理といった機能も備える。スケーラビリティやフォールトトレラントなどの特徴を持ち、大規模なデータの処理にも適している。

 Apache Kafka 2.0は2017年11月のバージョン1.0に続くメジャーリリース。接頭辞がついたACL(アクセス制御リスト)をサポートした。単一のルールでトピックスへの大量アクセスなどを設定でき、大規模な実装におけるアクセス制御管理を容易に行えるようになった。

 セキュリティ関連では、OAuth2bearerトークンを使ってKafkaブローカーを認証できるフレームワークが加わった。SASL/OAUTHBEARER実装は、カスタマイズも可能という。

 デフォルトのSSL設定が中間者攻撃の影響を受けないようにするため、SSL接続でのホスト名検証がデフォルトで有効になった。SSLではまた、SSLトラストストアをブローカーの再スタートなしに動的にアップデートできるようになった。

 クォータを有効にした際、スロットルが適用される前にKafkaクライアントに通知するようになった。これにより、クォータを上回ったことによるスロットルなのかネットワークエラーなのかがわかるようになる。

 Kafka Streams Processor APIでメッセージヘッダをサポートした。Kafka Streamsのユニットテストを強化するため、kafka-streams-testutilアーティファクトを加えた。Kafka Streams DSLにScalaラッパーAPIを加えた。これにより、コンパイル時の型推論と型安全性を強化できるという。

 ほかのシステムとの連携を可能にするKafka Connectでも、多数の強化が加わった。また、Java 7のサポートがなくなり、非推奨となっていたScalaプロデューサーとコンシューマーも削除した。

Apache Kafka
https://kafka.apache.org/