Note de lecture : Apache Kafka, par Nishant Garg

Note : 3 ; Une introduction rapide (et hélas obsolète) mais qui ne vous conduira pas bien loin.

Si vous n’avez pas le temps, mais alors vraiment pas le temps, ce très court texte pourrait bien être pour vous. En quelques 88 pages et 6 chapitres, il vous met le pied à l’étrier sur la compréhension de base de Kafka. Ca, ce sont pour les bonnes nouvelles. Du côté moins glorieux, sachez que ce court texte est vraiment très mal noté un peu partout et qu’il y a de bonnes raisons à cela. J’ai obtenu cet ebook grâce à une offre promotionnelle de lot et je serais certainement allé dans le même sens si je l’avais payé plein tarif !

De plus l’ouvrage date maintenant terriblement. En 8 ans, Kafka est passé de la version 7 à la version 2.8, ce qui est énorme, sans compter l’écosystème qui s’est formé autour. Passons maintenant (rapidement) le contenu en revue. Le premier chapitre présente Kafka très rapidement. C’est fort succinct, mais au moins les concepts de base sont posés. Plus succinct encore, le chapitre 2 évoque l’installation de Kafka, mais seulement en version développeur / local. La compilation de l’outil est évoquée, mais cela ne parait pas spécialement pertinent, la même information est disponible en ligne.

Passons au chapitre 3 et à la configuration d’un cluster. Cette fois, c’est la version 0.8 qui nous sert de référence ! L’auteur passe en revue 3 configurations de complexité croissante et nous propose de les explorer en mode « hello world ». Bien sûr, on est très loin des informations nécessaires pour la production, ou même à un véritable développement, mais cela correspond au niveau d’information que je cherchais. Au chapitre 4, on nous promet de découvrir l’architecture de Kafka. Cela reste très haut niveau, du niveau décideur, mais là encore cela correspondait à mon besoin. On y évoque les partitions, le miroring et la réplication façon Powerpoint.

L’écriture d’un producteur est au menu du chapitre 5. J’apprécie vraiment d’avoir du code simple pour avoir les pieds qui touchent le sol et comprendre de quoi on parle. On reste au niveau du « hello world » avec ces extraits de code (même si le partitionnement est présenté). Mais cela s’arrête là. Et j’ai l’impression un peu confuse que pas mal d’aspects sont passés sous silence. L’expérience se renouvelle au chapitre 6 sur les consommateurs. Le propos semble un peu court au-delà des extraits de code. On sait en tout cas que cette ressource sera insuffisante pour effectivement écrire un producteur ou un consommateur.

Le chapitre 7 nous parle d’intégration : intégration en consommateur avec Storm, et en producteur avec Hadoop. Cela va vite avec Storm, car un « spout » Kafka est disponible, qui n’a plus qu’à être configuré. Hadoop est plus complexe, mais l’auteur ne rentre guère dans le détail et reste au niveau Powerpoint, comme à son habitude. On comprend toutefois que l’on a intérêt à regarder du côté de Pig et de Avro. Le dernier chapitre sur les outils est une plaisanterie qui ne mérite pas que l’on s’y attarde.

J’aurais sans doute dû noter ce livre 1 ou 2. Mais j’avais besoin d’un texte capable de me donner un verni de connaissance en très peu de temps mais en donnant quand même quelques clés très concrètes pour comprendre comment ces concepts se matérialisent. En fait, le texte fait justement cela. Maintenant, il est clairement superficiel, particulièrement sur les producteurs et consommateurs. Il dissimule aussi probablement des aspect important de l’outil qu’il est nécessaire d’appréhender pour en tirer parti (je pense à la gestion des offsets).Et il est aussi et surtout bien trop obsolète.

Référence complète : Apache Kafka – Nishant Garg – Packt Publishing 2013 – ISBN : 978-1782167938

Publicité

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.