Objectifs de la formation
Objectifs opérationnels:
Concevoir une architecture micro services basée sur Kafka et Spring Cloud.
Objectifs pédagogiques:
Concrètement, à l’issue de cette formation Spring Cloud Stream et Kafka, les participants seront en mesure de :
- Mettre en place l’environnement de développement Spring Cloud Data Stream
- Concevoir une architecture micro services basée sur Kafka et Spring Cloud
- Adopter une programmation fonctionnelle
- Mettre en place une topologie de processeurs Kafka avec SpringBoot
- Surveiller et récolter les métriques d’une telle architecture
À qui s’adresse cette formation ?
Ce cours Spring Cloud Stream et Kafka s’adresse aux développeurs et architectes ayant déjà une certaine maîtrise de Spring et SpringBoot.
Prérequis
Pour suivre cette formation Spring Cloud Stream et Kafka, il est nécessaire de connaître au préalable Spring et SpringBoot.
Programme
Introduction aux architectures microservices
- Architectures microservices orientés événements : avantages attendus Rôle du message broker dans l’architecture, les spécificités de Kafka Transformer une architecture monolithique en microservices Programmation réactive Préparation de l’environnement de développement
Atelier
Installation de Kafka et mise en place de l’IDE
Concepts de Spring Cloud Stream
- Historique du projet, Spring Integration Modèle applicatif de Spring Cloud Stream, fat-jar, Dockerisation, Déploiements vers Kubernetes, Serverless L’abstraction binder Support pour la persistance Groupe et types de consommateurs et partitionnement Modèle de programmation : Binding, Structure des messages, Function vs Legacy Gestion et routage des erreurs Tests et Débug des microservices
Ateliers
Mise en place de deux microservices avec deux topics Kafa, puis démonstration de l’évolutivité
La messagerie distribuée Kafka
- Historique, objectifs du projet et cas d’usage, distributions OpenSource et commerciales Architecture en cluster, rôle de Zookeeper Concepts de base des topics, des records, et du journal partitionné Les APIs et CLI Rôle des partitions et des groupes, conséquences sur les instances du cluster Configuration des topics Kafka Binder dans SpringCloud : les options de configuration Gestion des erreurs, des transactions, et du partitionnement Kafka Stream Binder
Ateliers
Mise en place d’un cluster trois nœuds Kafka
Partitionnement de topic et gestion des transactions
Kafka Stream et SpringCloud
- KafkaStream et DSL Notions de Flux et de Tables, Agrégations, Jointures, State-store KafkaStream Binder. Modèle de programmation, Style fonctionnel Sérialiastion et désérialisation d’événements State-store et service de requêtage État de santé, Métriques et visualisation de la topologie
Atelier
Mise en place d’un Kafka Stream avec différents state store via Spring Cloud
Spring Cloud Data Flow
- Présentation du projet Intégration de SpringCloud Stream Architecture et alternative d’infrastructure
Ateliers
Installation SpringCloudDataFlow et déploiement des microservices précédemment développés
Description de la formation Spring Cloud Stream et Kafka
Spring Cloud Stream est un framework basé sur Spring Cloud et Spring Intégration facilitant la mise en place d’architectures microservices event-driven.
Ces architectures, intégrant un système de messagerie partagée de type Kafka, sont extrêmement évolutives, très adaptées aux pratiques DevOps, et capables de traiter d’importants volumes de données grâce à la programmation réactive et aux capacités intrinsèques de Kafka.
Cette formation Architecture micro services avec Spring Cloud Stream et Kafka, destinée à des développeurs ou architectes SpringBoot, commence par présenter les architectures visées par le couple SpringCloud/Kafka, puis approfondit avec les concepts de Spring Cloud Stream et les caractéristiques de la messagerie distribuée Kafka. Des ateliers permettront de mettre en place progressivement deux micro services en utilisant des topics Kafka.
La formation se poursuit avec l’intégration de KafkaStream dans SpringCloud, et un atelier mettant en place une topologie de processeurs Kafka permettra de valider ces acquis.
Enfin, la solution SpringCloudData Flow et ses apports pour le déploiement sont également présentés.
Thèmes : Spring