「Apache Kafka 3」が登場、KRaftを強化

 分散型イベントストリーミングプラットフォーム「Apache Kafka」を開発するコミュニティは9月21日、最新のメジャーリリースとなる「Apache Kafka 3.0」を公開した。

 Apache Kafka 3.0は2018年に公開されたバージョン2に続く最新版。Java 8が非推奨となった。Scala 2.12も非推奨となった。ともに、次期メジャーリリースのKafka 4.0では削除となる。

 Apache ZooKeeperの置き換えとなる内蔵コンセンサスメカニズムであるKRaftも強化した。まだ運用環境での使用は推奨されていないものの、KRaftのメタデータとAPIを強化し、Snapshot機能を導入した。KRaft ControllersとKRaft Brokersが、メタデータトピックパーティションのスナップショットの生成、複製、読み込みを行うもので、Exactly-once(1回だけで処理)とパーティション割り当ての割り当てをサポートした。Kafka ControllerがKafka Producer IDの生成を行うようになり、ZooKeeperとKRaftの両方のモードで行う。これにより、ZooKeeperを使ったKafka実装からKRaftを使う新しい実装への移行を容易にするとしている。

 Producerではデフォルトで冪等性を有効にし、すべてのレプリカのデリバリーを認知するようになった。最高位のデリバリー保証を行うという。Kafka Connectでタスクリスタートを強化した。Kafka Streamsでは、タイムスタンプベースの同期を強化したほか、TaskMetadataインターフェイスで3種類のメソッドが加わり、Streamsアプリケーションでタスクの状況を追跡できるようになった。MirrorMakerではバージョン1が非推奨となり、バージョン2(MM2)に開発の主軸を移した。

 このほかにも、多数の強化が加わっている。

Apache Kafka
https://kafka.apache.org