Formation Architecture microservices avec Spring Cloud Stream et Kafka
2 JoursDescription 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.
Objectifs
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 ?
Public :
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.
Contenu du cours Spring Cloud Stream et Kafka
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