Plan du cours
Jour 1 : Fondements de l'architecture orientée événement en Go
- Introduction à l'EDA
- Qu'est-ce que l'architecture orientée événement ?
- Comparaison des systèmes monolithiques, microservices et orientés événement
- Pourquoi le modèle de concurrence de Go et ses goroutines légères en font un choix idéal pour l'EDA
- Concepts de base 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 propulse des systèmes événementiels 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 cohérence et disponibilité dans les systèmes basés sur Go
Jour 2 : Événements, messages et schémas de communication en Go
- Comprendre les types d'événements
- Événements de domaine vs événements d'intégration
- Événements synchrones vs asynchrones dans les applications Go
- Schémas 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
- Implémentation du traitement des événements en Go
- Présentation des bibliothèques et cadres Go populaires pour la messagerie
- Exemples de code : distribution et traitement des événements à l'aide de motifs idiomatiques Go
- Session pratique : Création 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
- Présentation 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
- Configuration Docker Compose pour Kafka, RabbitMQ ou NATS
- Configuration des sujets, échanges, files d'attente et canaux
- Présentation 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 dans l'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 l'extension des consommateurs d'événements
- Gestion des erreurs et surveillance
- Gestion des pannes 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
- Compréhension de base 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éseau
- Expérience avec les outils en ligne de commande et Git
- Optionnel mais utile : une exposition préalable à Kubernetes et aux systèmes de messagerie tels que Kafka, RabbitMQ ou NATS
Public cible
- Développeurs Go concevant des applications événementielles évolutives
- Ingénieurs logiciens 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 schémas EDA utilisant 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