Plan du cours
Jour 1 : Fondations de l'architecture pilotée par les événements avec Go
- Introduction à l'EDA
- Qu'est-ce que l'Architecture pilotée par les événements ?
- Comparaison des systèmes monolithiques, des microservices et des systèmes pilotés par les événements
- Comment le modèle de concurrence de Go et les goroutines légères le rendent idéal pour l'EDA
- Concepts clés et avantages
- Découplage, évolutivité et résilience dans les systèmes d'entreprise
- Définition des événements, des producteurs, des consommateurs et des courtiers d'événements
- Exemples concrets et études de cas où Go permet des systèmes événementiels haute performance
- Théorème CAP et compromis dans l'EDA
- Aperçu de la cohérence, de la disponibilité et de la tolérance aux partitions
- Impact de l'EDA sur ces propriétés
- Stratégies pour équilibrer la cohérence et la disponibilité dans les systèmes basés sur Go
Jour 2 : Événements, messages et patterns de communication avec Go
- Compréhension des types d'événements
- Événements métier vs événements d'intégration
- Événements synchrones vs asynchrones dans les applications Go
- Patterns de messagerie en pratique
- Publish-Subscribe (Pub/Sub) avec Go
- Comment concevoir et structurer les charges utiles d'événements en utilisant JSON, Protocol Buffers ou Avro avec Go
- Implémentation de la gestion des événements en Go
- Aperçu des bibliothèques et frameworks Go populaires pour la messagerie
- Exemples de code : dispatchement et traitement des événements en utilisant des patterns idiomaticques Go
- Séance pratique : Construction d'un service simple piloté par des événements en Go
Jour 3 : Systèmes de messagerie et courtiers d'événements avec Go
- Sélection et intégration des courtiers d'événements
- Aperçu des courtiers populaires : Apache Kafka, RabbitMQ et NATS
- Comparaison des cas d'utilisation et des meilleures pratiques pour les systèmes basés sur Go
- Configuration de l'infrastructure de messagerie
- Mise en place avec Docker Compose pour Kafka, RabbitMQ ou NATS
- Configuration des topics, exchanges, files d'attente et canaux
- Aperçu des bibliothèques clientes Go
- Atelier pratique
- Construction d'un microservice Go exemple qui produit et consomme des événements
- Intégration du service avec le courtier d'événements choisi
- Débogage et test des flux d'événements
Jour 4 : Déploiement, surveillance et sujets avancés pour l'EDA Go
- Déploiement d'applications Go pilotées par des événements sur Kubernetes
- Conteneurisation des applications Go pour la production
- Déploiement de Kafka (ou d'autres courtiers) sur des clusters Kubernetes
- Introduction à KEDA (Kubernetes Event-Driven Autoscaling) pour l'échelle automatique des consommateurs d'événements
- Gestion des erreurs et surveillance
- Gestion des échecs d'événements avec des stratégies adaptées
- Mise en place de l'observabilité dans les services Go
- Sujets avancés et questions-réponses
- Exploration des architectures sans serveur pilotées par des événements avec Go
- Chorégraphie des événements vs orchestration : cas d'utilisation et considérations de conception
- Pièges courants, leçons apprises et meilleures pratiques
- Séance de questions-réponses ouvertes et dépannage interactif
Pré requis
- Maîtrise de Go (Golang), y compris l'utilisation des goroutines et des canaux
- Compréhension de base des modèles d'architecture logicielle tels que les systèmes monolithiques et les microservices
- Familiarité avec Docker et Docker Compose
- Connaissances de base des API REST et des concepts réseau
- Expérience avec les outils en ligne de commande et Git
- Optionnel mais utile : exposition préalable à Kubernetes et aux systèmes de messagerie comme Kafka, RabbitMQ ou NATS
Public cible
- Développeurs Go créant des applications évolutives pilotées par des événements
- Ingénieurs logiciels passant d'architectures monolithiques ou basées sur REST à des systèmes asynchrones
- Ingénieurs DevOps et cloud travaillant avec des microservices conteneurisés ou distribués
- Architectes techniques et concepteurs de systèmes explorant les modèles EDA avec Go
Nos clients témoignent (7)
nous écrivons du code en Go et nous apprenons des notions concernant l'EDA, comme les événements, quand et comment les utiliser.
Alin
Formation - Event Driven Architecture Custom
Traduction automatique
C'était un cours interactif, pas de temps pour dormir :)). C'était également agréable de travailler en équipes et ensuite de débattre selon chaque résultat.
Alina
Formation - Event Driven Architecture Custom
Traduction automatique
J'ai particulièrement apprécié les discussions et les exemples fournis afin que nous puissions parvenir par nous-mêmes aux conclusions qu'il souhaitait partager avec nous. J'ai aimé le rythme, l'anglais, la patience, et même si nous n'avions pas trouvé la meilleure réponse, il ne disait pas que c'était faux, mais nous donnait des exemples de ce qui pourrait être mieux.
Simona
Formation - Event Driven Architecture Custom
Traduction automatique
Les discussions ouvertes et le passage de la compréhension des problèmes/raisons (le `pourquoi`) à l'`EDA`.
Constantin
Formation - Event Driven Architecture Custom
Traduction automatique
l'approche de présenter les choses fortement axée sur l'interaction et les exemples
Virgil
Formation - Event Driven Architecture Custom
Traduction automatique
La nature interactive du cours L'approche d'apprentissage par auto-découverte où vous trouviez les réponses par vous-mêmes La focalisation pratique avec des exemples de la vie réelle qui rendaient les concepts plus tangibles
Roxana Sandu
Formation - Event Driven Architecture Custom
Traduction automatique
Très interactif. Le formateur était très compétent et patient.
Robert
Formation - Event Driven Architecture Custom
Traduction automatique