InfoQ ホームページ ニュース Kafka 4.0: KRaftがアーキテクチャを簡素化
Kafka 4.0: KRaftがアーキテクチャを簡素化
2025年4月25日 読了時間 3 分
翻訳者
Apache Kafkaは、バージョン4.0のリリースで重要なマイルストーンに到達した。この大規模のアップデートは、多数の新機能と改善点を導入しており、特にConfluentのドキュメントによると Apache ZooKeeperへの依存を排除しているKRaftモードでのデフォルト操作だ。
10年以上にわたり、ZooKeeperはKafkaの基盤として機能し、コミュニティはその貢献に感謝を表明してきた。しかし、Kafka 4.0のデフォルトでのKRaftへの移行は、個別のZooKeeperアンサンブルを維持する必要性を排除することで、デプロイと管理を合理化する。
(出典:Confluentドキュメント)
AWS Community BuilderのLalit Moharana氏はLinkedInに投稿した:
次期Kafka 4.0リリースでApache KafkaがKRaftを採用し、14年間のパートナーシップに終止符が打たれるため、ZooKeeperは身を引くことになります。このシフトは、独立したZooKeeperシステムが廃止され、Kafkaのアーキテクチャをシンプルにし、スケーラビリティが向上し、自立的な未来への道を開きます。これらはすべて、KRaft の Raft プロトコルの魔法のおかげです。
加えて
なぜ変更したのでしょうか?ZooKeeperのオーバーヘッドと制限(100,000以上のパーティション)がKafkaの成長に追いつけませんでした。そして
KRaftの利点:1つのシステム、数百万のパーティション、迅速な回復 - Kafkaは飛躍する準備が整いました!
Kafka 4.0は、アーキテクチャの変更だけでなく、次世代コンシューマーグループプロトコルを導入したKIP-848の一般提供を開始した。この新しいプロトコルは、リバランスのパフォーマンスを劇的に改善し、特に大規模環境におけるコンシューマーグループのダウンタイムとレイテンシーを削減するように設計されている。「Stop-the-World」リバランスを最小化することで、Kafkaはより安定した応答性の高いデータストリーミング体験を提供することを目指している。新しいプロトコルはサーバー側でデフォルトで有効になっており、コンシューマーはgroup.protocol=consumerを設定することでオプトインする必要がある。
Hacker Newsスレッドでは、ある回答者がこうコメントしている:
SNS/SQSからKafkaに切り替えてすぐに気づいたのは、その速度です。メッセージはほとんどすぐに送受信されるようです。
さらに、Kafka 4.0は、Queues for Kafka(KIP-932)への早期アクセスを提供している。この機能は、通常のKafkaトピックを使って協調的な消費を可能にする「共有グループ」の概念を導入するもので、Kafkaが従来のキューセマンティクスをサポートすることを効果的に可能にする。「キュー」というデータ構造の直接的な追加ではないが、この機能拡張はKafkaの汎用性を拡大し、より広範なメッセージングのユースケース、特に耐久性のある共有サブスクリプションのようなポイントツーポイントのメッセージングパターンを必要とするユースケースに適している。
LinkedInの投稿で、IBMのAI&データエンジニアリングリーダーであるGovindan Gopalan氏は次のように結論づけている:
初期キューのサポート(KIP-932)は、ポイントツーポイントのメッセージングを導入し、Kafkaのユースケースを従来のパブリッシュサブスクライブワークフロー以外にも拡大します。
この大規模なリリースは、プラットフォームの近代化において重要な一歩を踏み出すものだ。その進化の一環として、Kafka 4.0は、少なくとも12ヶ月間非推奨とされたAPIを削除した。さらに、Javaの最小要件が更新され、Kafka ClientsとKafka StreamsにはJava 11が、Kafka Brokers、Connect、ToolsにはJava 17が必要になった。この動きは、新しいJava機能の採用を促進し、Kafkaをより最新の技術スタックに合わせるものだ。このリリースはまた、サポートされるクライアントとブローカーの最小バージョンを更新し(KIP-896)、KIP-1124に詳述されているように、サポートされるアップグレードパスの新しいベースライン要件を定義している。
-
関連記事
-
関連スポンサーコンテンツ
特集コンテンツ一覧
InfoQ ニュースレター
毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。 サンプルを見る