Kafka : Le Guide Définitif

Aleksandr Shitik
Aleksandr Shitik

J’écris mes propres articles et livres, et je fais des critiques de films et de livres. Expert en cosmologie et astronomie, informatique, productivité et planification.

Kafka : Le Guide Définitif
Niyaz Narhid
Genres: Programmation
Année de publication: 2019
Année de lecture: 2020
Ma note: Normale
Nombre de lectures: 1
Nombre total de pages: 320
Résumé (pages): 11
Langue originale de la publication: Anglais
Traductions dans d'autres langues: Russe, Chinois

Description générale

Un livre de 320 pages composé de 11 chapitres. En plus du contenu textuel, le livre comprend une quantité importante d’informations graphiques sous forme de diagrammes et de graphiques, ainsi que des extraits de code intégrés. Le niveau de difficulté est intermédiaire. Chaque chapitre est complété par un bref résumé de quelques phrases.

Aperçu rapide

Les deux premiers chapitres peuvent être considérés comme introductifs. Le premier chapitre présente Kafka : le principe de publication/abonnement, son créneau et ses domaines d’application. Le deuxième chapitre traite de l’installation de Kafka, expliquée en détail, du choix du système d’exploitation et de l’installation de ZooKeeper aux exigences en matière de mémoire, de disque, de réseau et de processeur. Ces deux chapitres introductifs représentent à eux seuls environ 20% du livre entier.

Kafka étant construit sur le principe de publication/abonnement, il est logique que les producteurs et les consommateurs soient abordés juste après l’installation. C’est l’objet des deux chapitres suivants. Il est difficile d’évaluer définitivement la profondeur de ces sujets, car je ne suis pas un expert de Kafka, mais je peux mentionner certains domaines abordés : la création et la configuration des consommateurs et des producteurs, l’envoi synchrone et asynchrone de messages, la sérialisation, les garanties de livraison et le travail avec les décalages (offsets).

Le chapitre suivant plonge plus profondément dans les détails de l’architecture. Il discute des mécanismes de réplication, du travail avec les index, de la gestion des pannes et bien plus encore.

Ensuite, un chapitre traite de la fiabilité de la livraison des données. Les principes ACID y sont abordés, avec une grande partie consacrée à la réplication et aux différentes options de configuration pour sa mise en place.

Le chapitre suivant porte sur la construction de pipelines de données. Il commence par une discussion sur les exigences de tels systèmes, suivie d’un examen de Kafka Connect, du travail avec les données de MySQL et d’Elasticsearch, et d’un mot sur les alternatives à Kafka Connect.

Le chapitre suivant se concentre sur les capacités de réplication entre différents clusters Kafka à l’aide de MirrorMaker. Il couvre des scénarios de migration, de sauvegarde et d’assurance de tolérance aux pannes au niveau de la distribution géographique.

Ensuite, deux chapitres portent sur l’administration et la surveillance de Kafka. Il n’est pas nécessaire d’entrer dans les détails ici : ceux qui sont intéressés peuvent les consulter eux-mêmes. Dans l’ensemble, ces chapitres ne semblaient ni ennuyeux ni trop complexes.

Enfin, le dernier chapitre est consacré au traitement des flux de données : il couvre les bases de Kafka Streams et la construction d’applications pour le traitement des données en temps réel.

Avis

Un livre décent sur Kafka. Même si je n’avais jamais utilisé Kafka avant de le lire, le matériel était assez compréhensible et informatif. Malheureusement, beaucoup de choses ont tendance à être oubliées sans une pratique expérimentale, mais les notes que j’ai prises auparavant m’ont aidé à rafraîchir rapidement ma mémoire. Si vous êtes un développeur backend et que vous prévoyez de continuer à progresser en tant que spécialiste, je recommanderais ce livre, même si vous connaissez déjà un autre système de messagerie.

Вверх