Passer aux informations sur le produit
Du développement pratique de Kafka à son exploitation
Du développement pratique de Kafka à son exploitation
Description
Introduction au livre
Un livre recommandé par Jun Rao, cofondateur d'Apache Kafka !

Seung-Beom Ko, auteur de « Kafka, la plateforme de données la plus performante », est le premier et unique formateur et administrateur certifié Confluent pour Apache Kafka en Corée. Il a rassemblé dans cet ouvrage toute son expérience pratique et son savoir-faire acquis lors de l'utilisation de Kafka sur les plus grandes plateformes de données coréennes, notamment SKT et Kakao.
  • Vous pouvez consulter un aperçu du contenu du livre.
    Aperçu

indice
Chapitre 1 : Aperçu de Kafka

1.1 Exemples d'adoption de Kafka chez Zalando et Twitter
1.1.1 Le cas de Zalando, le plus grand centre commercial de mode en ligne d'Europe
1.1.2 Étude de cas de Twitter, le géant des réseaux sociaux, à l'aide de Kafka
1.2 État actuel de l'utilisation de Kafka en France et à l'étranger
1.3 Principales caractéristiques de Kafka
1.4 La croissance de Kafka
1.5 Divers cas d'utilisation de Kafka
1.6 Résumé

Chapitre 2 Configuration de l'environnement Kafka

2.1 Mise en place de l'environnement de pratique pour ce livre
__2.1.1 Configuration d'un environnement de pratique dans un environnement AWS
__2.1.2 Configuration d'un environnement de pratique dans un environnement sur site
2.2 Configuration du cluster Kafka
2.3 Un avant-goût de Kafka en 5 minutes
__2.3.1 Configuration de base de Kafka
2.3.2 Envoi et réception de messages
2.4 Résumé

Chapitre 3 : Concepts et structure de base de Kafka

3.1 Établir les bases de Kafka
3.1.1 Réplication
__3.1.2 Partition
__3.1.3 Segment
3.2 Concepts fondamentaux de Kafka
3.2.1 Systèmes distribués
__3.2.2 Cache de page
3.2.3 Traitement par transfert de lots
3.2.4 Transmission compressée
__3.2.5 Sujets, partitions et décalages
3.2.6 Garantie de haute disponibilité
__3.2.7 Dépendances de ZooKeeper
3.3 Aperçu des opérations de base du producteur et exemples
3.3.1 Conception du producteur
3.3.2 Principales options du producteur
__3.3.3 Exemple de producteur
3.4 Aperçu des opérations de base pour le consommateur et exemples
3.4.1 Fonctionnement de base du consommateur
3.4.2 Principales options du consommateur
3.4.3 Exemple de consommateur
3.4.4 Comprendre les groupes de consommateurs
3.5 Résumé

Chapitre 4 : Fonctionnement interne et mise en œuvre de Kafka

4.1 Réplication Kafka
4.1.1 Vue d'ensemble des opérations de réplication
4.1.2 Leaders et suiveurs
__4.1.3 Maintien de la réplication et validation
4.1.4 Comportement de réplication étape par étape des leaders et des suiveurs
4.1.5 Époque du leader et rétablissement
4.2 Contrôleur
4.3 Journal (Segment de journal)
4.3.1 Suppression des segments de journal
4.3.2 Compactage des segments de journal
4.4 Résumé

Chapitre 5 : Opérations internes et mise en œuvre chez le producteur

5.1 Partitionneur
__5.1.1 Stratégie Round Robin
5.1.2 Stratégie de partitionnement collant
5.2 Placement du producteur
5.3 Transmission non dupliquée
5.4 Transmission exactement une fois
5.4.1 Conception
__5.4.2 Exemple de code du producteur
5.4.3 Fonctionnement étape par étape
__5.4.4 Exemple d'exercice
5.5 Résumé

Chapitre 6 : Opérations internes et mise en œuvre pour les consommateurs

6.1 Gestion des compensations des consommateurs
6.2 Coordinateur de groupe
6.3 Adhésion statique
6.4 Stratégie de répartition des consommateurs
6.4.1 Stratégie d'allocation des partitions de plage
6.4.2 Stratégie d'allocation de partition Round Robin
6.4.3 Stratégie d'allocation de partitions persistantes
6.4.4 Stratégie d'allocation de partitions coopératives et collantes
6.5 Fonctionnement du consommateur exactement une fois
6.6 Résumé

Chapitre 7 : Fonctionnement et surveillance de Kafka

7.1 Configuration de ZooKeeper et Kafka pour un fonctionnement stable
__7.1.1 Configuration de Zookeeper
__7.1.2 Configuration de Kafka
7.2 Configuration du système de surveillance
7.2.1 Gestion et analyse des journaux avec Kafka en tant qu'application
7.2.2 Surveillance des métriques Kafka à l'aide de JMX
__7.2.3 Exportateur Kafka
7.3 Résumé

Chapitre 8 : Mise à niveau et extension de la version de Kafka

8.1 Préparation d'une mise à niveau de Kafka
Mise à niveau progressive de Kafka 8.2 avec dépendances ZooKeeper
8.2.1 Téléchargez et configurez la dernière version de Kafka
Mise à niveau de la version du courtier __8.2.2
8.2.3 Modification des paramètres du courtier
8.2.4 Précautions lors de la mise à niveau
8.3 Extensions Kafka
8.3.1 Équilibrage de charge du courtier
8.3.2 Précautions à prendre lors de la manipulation de lots distribués
8.4 Résumé

Chapitre 9 : La sécurité de Kafka

9.1 Trois éléments de la sécurité Kafka
__9.1.1 Chiffrement (SSL)
__9.1.2 Authentification (SASL)
__9.1.3 Autorisations (ACL)
9.2 Chiffrement Kafka via SSL
__9.2.1 Création d'un magasin de clés de courtier
__9.2.2 Création d'un certificat d'autorité de certification
__9.2.3 Création d'un magasin de confiance
9.2.4 Signature du certificat
__9.2.5 Configuration du protocole SSL pour les autres courtiers
__9.2.6 Ajout du certificat SSL aux paramètres du courtier
9.2.7 Transmission de messages basée sur SSL
9.3 Authentification Kafka utilisant Kerberos (SASL)
__9.3.1 Configuration Kerberos
__9.3.2 Authentification à l'aide d'un keytab
__9.3.3 Paramètres Kerberos du courtier
__9.3.4 Paramètres Kerberos du client
9.4 Configuration des autorisations Kafka à l'aide des ACL
__9.4.1 Définition des autorisations du courtier
__9.4.2 Définition des autorisations spécifiques à l'utilisateur
9.5 Résumé

Chapitre 10 Registre de schémas

10.1 Concept et utilité du schéma
10.2 Kafka et registre de schémas
__10.2.1 Vue d'ensemble du registre de schémas
__10.2.2 Prise en charge d'Avro dans le registre de schémas
__10.2.3 Installation du registre de schéma
10.3 Pratique du registre des schémas
__10.3.1 Registre de schémas et comportement du client
__10.3.2 Utilisation du registre de schémas avec Python
10.4 Compatibilité avec le registre de schémas
__10.4.1 Compatibilité rétrograde
__10.4.2 Compatibilité FORWARD
Compatibilité totale __10.4.3
__10.4.4 Pratiques de compatibilité du registre de schémas
10.5 Résumé

Chapitre 11 Kafka Connect

11.1 Concepts fondamentaux de Kafka Connect
11.2 Fonctionnement interne de Kafka Connect
11.3 Connexion Kafka autonome
__11.3.1 Exécution du connecteur de source de fichiers
__11.3.2 Exécution du connecteur de synchronisation de fichiers
11.4 Kafka Connect en mode distribué
11.5 Créateur de miroirs basé sur un connecteur 2.0
11.6 Résumé

Chapitre 12 : Études de cas de configuration d’architecture Kafka d’entreprise

12.1 Vue d'ensemble de l'architecture Kafka pour les entreprises
12.2 Configuration de Kafka pour l'entreprise
12.3 Mise en pratique opérationnelle de Kafka pour les entreprises
__12.3.1 Création d'un sujet à l'aide de CMAK
__12.3.2 Configuration de Kafka Connect
__12.3.3 Configuration de l'environnement de surveillance
__12.3.4 Envoi et confirmation des messages
12.4 Résumé

Chapitre 13 : L'évolution et l'avenir de Kafka

13.1 L'avenir de Kafka sans Zookeeper
__13.1.1 Restrictions d'utilisation de ZooKeeper
__13.1.2 Mise à niveau de Kafka sans dépendance à ZooKeeper
13.2 Nouveau protocole de consensus
13.3 Configuration optimisée du nœud de contrôleur
13.4 KIP Contenant l'avenir de Kafka
13.5 Résumé

Annexe A MSK et Confluent Cloud
__A.1 MSK
__A.2 Cloud Confluent
A.3 Comparaison de MSK et de Confluent Cloud

Annexe B : Dégustation d'ensemble
__B.1 Caractéristiques de l'ensemble
B.2 Configuration de l'environnement de pratique
__B.3 Aperçu des fonctionnalités d'Ansible

Annexe C : Installation de Kafka avec Docker
__C.1 Configuration Kafka basée sur Docker
__C.2 Envoi et réception de messages

Annexe D : Questions et réponses en bref
__D.1 Responsabilités liées au gardien de zoo
__D.2 Lié à Kafka
__D.3 Producteur associé
__D.4 Lié au consommateur

Image détaillée
Image détaillée 1

Avis de l'éditeur
Vous souhaitez traiter des volumes massifs de données rapidement et avec précision, sans perte ? Kafka est la solution !

Il s'agit du guide le plus complet et détaillé couvrant tout ce qu'il faut savoir sur Kafka : de sa structure interne et de son fonctionnement, facilement et rapidement compréhensibles grâce à de nombreuses illustrations, aux exemples de code de base du client Kafka et aux connaissances essentielles requises pour son utilisation, en passant par les techniques de sécurité et de surveillance permettant un fonctionnement sûr 365 jours par an, et le registre de schémas et Kafka Connect qui optimisent la facilité et l'efficacité opérationnelles.

Ce que ce livre couvre

- La structure interne et les principes de fonctionnement de Kafka expliqués de manière facile à comprendre, avec de nombreuses illustrations.
- Exemple de code client Kafka utilisant Java et Python
- Déploiement et exploitation de Kafka dans des environnements AWS et sur site
- Stratégies de mise à niveau et de maintenance de Kafka minimisant les problèmes
- Comment construire une sécurité basée sur Apache Kafka
- Diverses utilisations du registre de schémas et de Kafka Connect
- Le fonctionnement interne des producteurs/consommateurs et les méthodes de rééquilibrage pour une utilisation optimale de Kafka
- Exemple de configuration d'architecture Kafka dans un environnement d'entreprise
- Questions-réponses résumant les expériences et les conseils d'experts du secteur

Public cible de ce livre

- Les débutants qui souhaitent apprendre Kafka
- Les opérateurs qui souhaitent utiliser Kafka dans leur travail
- Les développeurs qui souhaitent comprendre le fonctionnement interne de Kafka afin d'en tirer le meilleur parti.
- Les développeurs qui souhaitent comprendre et utiliser Kafka et l'écosystème Kafka.
- Architectes soucieux de la normalisation des données et du traitement en temps réel
- Des architectes qui souhaitent collecter, traiter et analyser efficacement les données.

Structure de ce livre

Dans le chapitre 1, « Aperçu de Kafka », nous découvrirons les défis rencontrés par les entreprises leaders et les atouts uniques de Kafka à travers les cas d'adoption de Kafka par Zalando et Twitter, ainsi que l'état actuel de Kafka en Corée et à l'étranger.
Nous explorerons la croissance en constante évolution de Kafka et ses cas d'utilisation.

Le chapitre 2, « Configuration de l'environnement Kafka », décrit la configuration générale de l'environnement pratique présenté dans cet ouvrage. Il fournit des instructions détaillées pour configurer les environnements AWS et sur site, ce qui le rend accessible même aux débutants. Une fois Kafka installé dans votre environnement AWS, vous découvrirez son fonctionnement grâce à un exemple d'introduction simple.

Dans le chapitre 3, « Concepts de base et structure de Kafka », nous examinerons la structure de base de Kafka, le fonctionnement des producteurs et des consommateurs, et des exemples de code pour acquérir des connaissances de base sur Kafka.

Le chapitre 4, « Opérations internes et implémentation de Kafka », examine les principales fonctions de base de Kafka et se concentre sur les opérations internes détaillées liées à la réplication, au rôle du contrôleur, aux journaux, etc.

Le chapitre 5, « Opérations internes et mise en œuvre du producteur », examine les fonctions de base du producteur, couvrant les informations essentielles pour une transmission fiable des messages dans le producteur, y compris les partitionneurs, la transmission de messages non dupliqués et la transmission exactement une fois.

Le chapitre 6, « Opérations internes et mise en œuvre du consommateur », examine les fonctions essentielles du consommateur.
Nous examinerons les éléments clés pour un développement et un fonctionnement stables des consommateurs, notamment la gestion des compensations des consommateurs, le comportement des coordinateurs de groupe et les stratégies de répartition.

Le chapitre 7, « Fonctionnement et surveillance de Kafka », examine les méthodes et le savoir-faire nécessaires au fonctionnement stable de Kafka.
Apprenez à effectuer une surveillance fiable grâce à la pratique de la construction de votre propre système de surveillance.

Dans le chapitre 8, « Mise à niveau et mise à l'échelle de la version Kafka », vous apprendrez et pratiquerez les méthodes essentielles de mise à niveau de version et de mise à l'échelle horizontale pour l'exploitation de Kafka.

Le chapitre 9, « Sécurité Kafka », traite des sujets liés à la sécurité fournis par Kafka.
Nous proposons également un cours pratique sur l'application des mesures de sécurité.

Le chapitre 10, « Registre de schémas », donne un aperçu du registre de schémas et de son utilisation.
Pour ceux qui découvrent les registres de schémas, nous aborderons des exercices pratiques basés sur Avro et des exemples de code.

Le chapitre 11, « Kafka Connect », examine les concepts et opérations de base de Kafka Connect.
Apprenez à utiliser la fonction miroir grâce à une brève introduction au logiciel Mirror Maker 2.0, récemment sorti.

Dans le chapitre 12, « Cas de configuration d'architecture Kafka d'entreprise », nous allons nous exercer à intégrer et à configurer les créateurs de miroirs, Elasticsearch et la surveillance de manière similaire à un environnement d'entreprise, en nous basant sur ce que nous avons couvert jusqu'à présent dans le livre.

Le chapitre 13, « L'évolution et l'avenir de Kafka », examine le contexte, les progrès actuels et l'orientation future des efforts visant à éliminer la dépendance à ZooKeeper, un sujet d'actualité brûlant.

Dans les quatre annexes, nous comparons les avantages et les inconvénients de la configuration de Kafka sur MSK et Confluent Cloud. Nous avons également ajouté des cours d'initiation distincts, tels que les fonctionnalités d'Ansible, la mise en place d'un environnement de pratique et l'installation de Kafka avec Docker, afin de faciliter la compréhension, même pour les débutants.
Nous avons également compilé un résumé des questions fréquemment posées afin que vous puissiez les consulter facilement.

Environnement de développement pour l'utilisation de ce livre

- Apache Kafka 2.6
- Apache Zookeeper 3.5.9
- Confluent Kafka 6.1
- Java 1.8
- Python 3.7.9
Ansible 2.9.12
- Système d'exploitation : Sur site (CentOS 7), AWS (Amazon Linux 2)

Fin septembre 2021, au moment où cet ouvrage était en cours de finalisation, Apache Kafka 3.0 était sorti.
Cependant, l'algorithme KRAFT, récemment introduit dans Apache Kafka 3.0 et ne dépendant pas de ZooKeeper, n'est pas encore recommandé pour une utilisation en environnement de production.
Par conséquent, tous les exemples pratiques et les explications de ce livre sont basés sur Apache Kafka 2.6, qui peut être utilisé de manière stable dans les environnements d'entreprise.

[Un mot du bêta-lecteur]

Kafka est devenu un système central dans les conceptions basées sur MSA et EDA.
Grâce aux efforts de nombreux contributeurs, sa maturité a considérablement augmenté et il est utilisé par diverses entreprises, prouvant ainsi sa stabilité même lors du traitement de volumes importants de messages.
L'auteur a grandement contribué à l'activation nationale de Kafka et à ses divers cas d'utilisation.
Il dirige le groupe d'utilisateurs Kafka Korea et a écrit « Kafka, la plateforme de données la plus puissante », informant de nombreux débutants en Kafka sur les théories de base et le savoir-faire opérationnel.


L'ouvrage récemment paru « Practical Kafka Development to Operations » est une nouvelle version d'un livre spécialisé sur Kafka qui contient les informations les plus récentes sur Kafka et regorge d'exemples pratiques applicables à chaque chapitre.
Il était également rédigé dans un style facile à comprendre afin que les lecteurs puissent pleinement saisir le contenu relatif à Kafka.
Pour répondre aux exigences croissantes des utilisateurs, cet ouvrage aborde la surveillance, la sécurité, le registre de schémas et l'utilisation de composants tels que Connect. Les chapitres consacrés aux mises à niveau, à la configuration en entreprise et aux questions-réponses, en particulier, mettent en lumière l'expertise opérationnelle de l'auteur et apporteront des réponses complètes à toutes les questions que les lecteurs pourraient se poser.
- Seungha Lee / Équipe de développement de facturation Musinsa

Ce livre intéressera un large public, notamment les étudiants qui souhaitent en savoir plus sur Kafka, les développeurs qui veulent créer des applications utilisant Kafka et les ingénieurs qui exploitent des clusters Kafka.
Ce livre sera utile à toutes les personnes mentionnées ici.
Les étudiants pourront appréhender l'essence des problèmes que Kafka tente de résoudre, les développeurs pourront trouver des indices pour répondre aux questions qu'ils se posaient lors du développement de producteurs/consommateurs, et les administrateurs acquerront les connaissances nécessaires pour exploiter Kafka de manière stable.

Ce qui rend ce livre encore plus exceptionnel, c'est qu'il contient de nombreuses informations basées sur la vaste expérience de l'auteur dans l'utilisation de Kafka.
L'auteur développe le contenu en partant de situations susceptibles d'être rencontrées dans la pratique et en fournissant des informations appropriées sans excès ni insuffisance.
Pour ceux qui se sont penchés sur des questions similaires, ce sera comme une lueur d'espoir.
J'espère que vous, mes lecteurs, trouverez bon nombre de ces conseils aussi utiles qu'ils l'ont été pour moi.
Nam Ji-yeol / Ingénieur en apprentissage automatique chez DPG Media

En réalité, construire Kafka n'est pas — en théorie — si difficile.
En effet, vous pouvez créer votre propre pipeline de messages en configurant ZooKeeper et Broker conformément à la documentation officielle et en lançant des applications consommatrices/productrices en vous référant aux exemples disponibles sur Internet.
Cependant, les développeurs qui utilisent notre Kafka ont de nombreuses exigences.
Par exemple : « Ce message ne doit jamais être perdu ! », « Nous voulons stocker des messages dans S3, mais devons-nous développer et gérer notre propre client ? », ou encore « Des messages étranges arrivent sans cesse et mon client plante ! » Et même un cluster Kafka qui fonctionnait parfaitement peut parfois commencer à dysfonctionner.
Kafka affirme ainsi que la différence entre la théorie et la pratique peut être aussi grande que celle entre le ciel et la terre, voire plus encore.

Ce livre reflète clairement l'expérience opérationnelle pratique de l'auteur, intimement liée à une théorie solide.
Par conséquent, ce livre permettra à ceux qui débutent avec Kafka d'acquérir une compréhension de base de l'écosystème Kafka et de son fonctionnement, tout en fournissant une base pour une utilisation plus stable et avancée de Kafka à ceux qui l'utilisent déjà.
- Kim Dae-ho / Équipe de développement de la plateforme cloud Woowa Brothers

Ce guide couvre l'intégralité du processus, de l'installation à l'exploitation de Kafka. Ainsi, même les débutants peuvent facilement le mettre en place et l'utiliser en suivant les exercices pas à pas. Le fait qu'il propose des exercices pratiques dans un environnement cloud est particulièrement pertinent, car cela permet une application rapide des connaissances dans un contexte professionnel, en phase avec l'évolution des pratiques actuelles.
L'objectif de l'auteur est de partager avec les lecteurs sa vaste expérience opérationnelle et son savoir-faire technique fondamental, acquis grâce à une longue expérience pratique, depuis les concepts de base nécessaires à la manipulation de Kafka jusqu'à la construction de divers environnements opérationnels utilisés en pratique.
Cela sera très utile pour ceux qui débutent avec Kafka ou qui souhaitent devenir experts.
- Lee Sang-jin / Kakao Hadoop Engineering Part

[Note de l'auteur]

À l'automne 2021, trois ans se sont écoulés depuis la publication de mon premier ouvrage, « Kafka, la plateforme de données incontournable », en 2018. Depuis, Kafka a considérablement gagné en notoriété et s'est imposé comme une infrastructure essentielle, source de valeur ajoutée pour les entreprises. De plus, de nombreuses sociétés adoptent Kafka.
Et de nombreuses entreprises qui fournissent divers services, non seulement sur site mais aussi via le cloud, adoptent Kafka et obtiennent des résultats visibles.
Cependant, la réalité est qu'il existe encore un manque de documentation et d'ouvrages de référence pour les entreprises souhaitant participer à l'écosystème Kafka.
Après la publication de mon premier ouvrage, j'ai donc écrit un second livre sur Kafka, intégrant les diverses expériences pratiques que j'ai acquises sur le terrain et abordant un éventail plus large d'aspects techniques. Ce faisant, j'espère contribuer, même modestement, à mettre en lumière le travail considérable des nombreux opérateurs, développeurs et architectes qui s'investissent dans l'introduction et l'optimisation de Kafka.

Ce livre développe les travaux précédents et couvre presque tout ce qui concerne Kafka, de sa structure interne et de ses principes de fonctionnement aux problèmes rencontrés dans la pratique, tels que l'installation, l'exploitation, la maintenance, l'extension, l'amélioration de la stabilité et les mises à niveau.
En tant qu'opérateur ayant été à l'avant-garde de l'introduction et de l'utilisation de Kafka, il s'agit d'un coffret cadeau complet pour nos lecteurs.
Si les débutants apprennent les concepts de base dans le livre « Kafka, la plateforme de données la plus puissante » et approfondissent ensuite les opérations et les nouveaux éléments fondamentaux dans ce livre « Développement et exploitation pratiques de Kafka », je suis convaincu qu'ils seront en mesure d'acquérir pleinement la théorie et le savoir-faire pratique nécessaires pour exploiter Kafka sur le terrain.
Bien sûr, nous avons également essayé d'inclure de nombreux conseils et connaissances que les utilisateurs intermédiaires devraient connaître.
J'espère que ce livre permettra à de nombreuses personnes de mieux comprendre Kafka et de l'utiliser plus efficacement.
SPÉCIFICATIONS DES PRODUITS
- Date de publication : 29 octobre 2021
Nombre de pages, poids, dimensions : 512 pages | 180 × 235 × 25 mm
- ISBN13 : 9791189909345
- ISBN10 : 1189909340

Vous aimerez peut-être aussi

카테고리