Plan du cours
Jour 1 : Fondamentaux de l'architecture événementielle en Go
- Introduction à l'EDA
- Qu'est-ce que l'architecture événementielle ?
- Comparaison des systèmes monolithiques, des microservices et des systèmes événementiels
- 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, producteurs, consommateurs et courtiers d'événements
- Exemples réels et études de cas où Go propulse les systèmes d'événements haute performance
- Théorème CAP et compromis dans l'EDA
- Présentation 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 modèles de communication en Go
- Compréhension des types d'événements
- Événements de domaine vs événements d'intégration
- Événements synchrones vs asynchrones dans les applications Go
- Modèles de messagerie en pratique
- Publication-Abonnement (Pub/Sub) en Go
- Comment concevoir et structurer les charges utiles d'événements à l'aide de JSON, Protocol Buffers ou Avro en Go
- Mise en œuvre du traitement des événements en Go
- Aperçu des bibliothèques et cadres Go populaires pour la messagerie
- Exemples de code : dispatching et traitement des événements à l'aide de modèles idiomatiques Go
- Atelier pratique : Construction d'un simple service événementiel 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
- Mise en place de l'infrastructure de messagerie
- Mise en place de Docker Compose pour Kafka, RabbitMQ ou NATS
- Configuration des sujets, échanges, files d'attente et canaux
- Aperçu des bibliothèques de clients Go
- Atelier pratique
- Construction d'un microservice Go d'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 en EDA Go
- Déploiement d'applications événementielles Go 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 le dimensionnement des consommateurs d'événements
- Gestion des erreurs et surveillance
- Gestion des échecs d'événements à l'aide de stratégies
- Implémentation de l'observabilité dans les services Go
- Sujets avancés et questions-réponses
- Exploration des architectures événementielles serverless avec Go
- Chorégraphie vs Orchestration d'événements : Cas d'utilisation et considérations de conception
- Pièges courants, leçons apprises et meilleures pratiques
- Séance de questions-réponses ouverte et dépannage interactif
Pré requis
- Maîtrise de Go (Golang), y compris l'utilisation des goroutines et des canaux
- Comprendre les bases des modèles d'architecture logicielle tels que les monolithes et les microservices
- Familiarité avec Docker et Docker Compose
- Connaissances de base des API REST et des concepts de réseaux
- Expérience avec les outils en ligne de commande et Git
- Facultatif mais utile : expérience préalable avec Kubernetes et des systèmes de messagerie comme Kafka, RabbitMQ ou NATS
Public cible
- Développeurs Go construisant des applications événementielles évolutives
- Ingénieurs logiciels en transition des architectures monolithiques ou basées sur REST vers les 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