AccueilActualités informatiqueApache Kafka 3.0.0 prend définitivement congé de Java 8

Apache Kafka 3.0.0 prend définitivement congé de Java 8

Le courtier de messages Kafka, qui a été développé sous l’égide de l’Apache Software Foundation (ASF), est désormais disponible en version 3.0.0. Confluent et la communauté ont apporté de nombreuses nouvelles fonctions et corrections de bogues pour la version majeure actuelle du projet open source – notamment des améliorations à KRaft, le quorum de métadonnées autogéré qui sera intégré à Kafka à l’avenir et qui remplacera Apache ZooKeeper. En outre, les développeurs doivent se préparer à des changements radicaux dans les API de la version 3.0.0.

Sommaire

Avec la sortie de la version 2.8 au printemps, l’équipe Kafka avait déjà donné une première impression de la façon dont le courtier de messages peut être utilisé sans ZooKeeper à l’avenir. Depuis lors, un certain nombre d’améliorations ont été apportées aux métadonnées et aux API de Kafka. Entre autres choses, il est désormais possible de réaffecter des partitions et KRaft offre un support pour Exactly-once.

De plus, à partir de la version 3.0, les contrôleurs KRaft et les courtiers KRaft peuvent prendre des instantanés pour la partition du sujet de métadonnées. __cluster_metadata créer, répliquer et charger. Le cluster Kafka utilise ce sujet pour stocker et répliquer les informations de métadonnées telles que la configuration du courtier ou les affectations de partition de sujet. Toutefois, compte tenu des lacunes encore connues, l’équipe ne recommande pas encore l’utilisation de KRaft en production.

Tim Berglund, de l’équipe des relations avec les développeurs de Confluent, donne un aperçu compact d’Apache Kafka 3.0 dans la vidéo.

La liste des fonctionnalités et composants dépréciés comprend Java 8, Scala 2.12 et la version 1 de MirrorMaker. Alors que Java 17, une nouvelle version LTS du langage de programmation, vient de faire son apparition, les utilisateurs de Kafka devront dire adieu à Java 8. À partir de Kafka 4.0 au plus tard, la prise en charge de la version Java obsolète cessera. Il en va de même pour Scala 2.12. Alors que MirrorMaker2 (MM2) peut désormais être utilisé pour stocker des ensembles de données décalés sur des clusters arbitraires afin de sauvegarder le cluster source Kafka en tant qu’instance en lecture seule, l’équipe de développement envoie MirrorMaker v1 à ses vieux jours. Tous les efforts de développement ultérieurs et les nouvelles fonctions sont réservés au MM2.

Dans le cadre de la rénovation complète proposée pour Kafka Streams dans la proposition d’amélioration Kafka KIP-740, la classe TaskId certaines méthodes et tous les champs internes sont considérés comme dépréciés. Le getter subtopology() et partition() remplacer par ceci topicGroupId et partition-… des champs. La proposition de la KIP-744 prévoit également de séparer l’implémentation de l’API publique de certaines classes. À cette fin, les interfaces TaskMetadata, ThreadMetadata et StreamsMetadata ont été nouvellement introduites, tandis que les classes précédentes portant les mêmes noms ont été abandonnées.

Un aperçu complet de toutes les nouvelles fonctionnalités et plus de détails peuvent être trouvés dans le blog de Confluent annonçant la nouvelle version, la vidéo d’introduction avec Tim Berglund et les notes de version pour Apache Kafka 3.0.0.


(carte)

Plus d'articles