AccueilActualités informatiqueStreaming d'événements : Apache Kafka 3.1.0 étend le protocole Fetch aux Topic...

Streaming d’événements : Apache Kafka 3.1.0 étend le protocole Fetch aux Topic IDs

Avec la version majeure précédente, le projet de courtier en messages Kafka, géré par l’Apache Software Foundation (ASF), avait fait ses adieux à Java 8. La nouvelle version majeure Apache Kafka 3.1.0 est entièrement adaptée à Java 17, la version LTS actuelle du langage de programmation. La nouvelle version de Kafka offre en outre quelques fonctionnalités supplémentaires ainsi que des améliorations et des corrections de bugs pour KRaft – le quorum de métadonnées autogéré intégré qui remplacera Apache ZooKeeper à l’avenir.

Sommaire

Après que l’équipe Kafka ait donné un premier aperçu de l’avenir de l’Agent de messages sans ZooKeeper dans la version 2.8 au printemps 2021, les travaux sur les métadonnées et les API de KRaft ont progressé de manière continue depuis lors. De nombreuses erreurs ont été corrigées et des fonctions manquantes ont été ajoutées, mais l’équipe continue de recommander, dans l’annonce du blog concernant Kafka 3.1, de ne pas utiliser KRaft en production. Il y a encore quelques « lacunes à combler » autour du quorum des métadonnées, qui concernent surtout des fonctions importantes pour la sécurité comme le mécanisme d’authentification de réponse au défi salué (SCRAM) ou la configuration d’un auteur basé sur KRaft.

Dans la nouvelle version, les identificateurs de sujets proposés dans la proposition d’amélioration KIP-516 peuvent désormais être utilisés avec la fonctionnalité FetchRequest est utilisée. Les identificateurs de topics visent principalement à garantir que les données des topics peuvent être récupérées sans risque d’interagir avec des topics obsolètes du même nom. En outre, l’équipe Kafka vise ainsi à améliorer l’efficacité du protocole Fetch. Grâce aux TopicID, les RPC (Remote Procedure Calls) de Kafka n’ont besoin que de uuids dont la taille est fixe à 16 octets, alors que les strings pouvaient être nettement plus longs selon le nom du topic.

Le framework d’Apache Kafka, conçu pour l’authentification OAuth via SASL/OAUTHBEARER, reçoit dans sa version 3.1 le support pour OpenID Connect (OIDC) formulé dans KIP-768. L’implémentation intégrée est prête pour une utilisation en production et permet à Kafka de se connecter à des fournisseurs d’identité OpenID comme Okta, Auth0 ou Microsoft Azure pour l’authentification et la récupération de jetons.

Outre le protocole de rééquilibrage des consommateurs, disponible depuis longtemps en tant que standard pour les flux Kafka et conçu pour un rééquilibrage coopératif, les utilisateurs pouvaient jusqu’à présent recourir, en cas de besoin, à la variante de protocole « eager », qui agit avec moins de retenue. Le protocole de rééquilibrage « eager » est désormais considéré comme obsolète (deprecated) et sera entièrement supprimé dans une prochaine version de Kafka. D’ici là, tous ceux qui utilisent encore cette variante de protocole devraient mettre à jour leurs applications vers la norme introduite dans Kafka 2.4.

Danica Fine, de l’équipe Developer Relations de Confluent, donne un aperçu concis d’Apache Kafka 3.1 dans une vidéo.

Le blog d’ASF, la vidéo d’introduction avec Danica Fine de Confluent et les notes de publication d’Apache Kafka 3.1.0 donnent un aperçu complet des principales nouveautés de la version majeure qui vient d’être présentée.

Plus d'articles