Plan du cours
Jour 1 : Fondements de l'architecture basée sur les événements en Go
- Introduction à l'EDA
- Qu'est-ce que l'architecture basée sur les événements ?
- Comparaison des systèmes monolithiques, microservices et basés sur les événements
- Comment le modèle de concurrence de Go et ses goroutines légères en font un choix idéal pour l'EDA
- Concepts clés et avantages
- Découplage, scalabilité et résilience dans les systèmes d'entreprise
- Définition des événements, producteurs, consommateurs et courtiers d'événements
- Exemples et études de cas réels où Go alimente des systèmes événementiels à haute performance
- Théorème CAP et compromis en 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 modèles 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
- Modèles de messagerie en pratique
- Pub/Sub (Publication-Abonnement) en Go
- Comment concevoir et structurer les charges utiles des événements en utilisant JSON, Protocol Buffers ou Avro en Go
- Implémentation de la gestion des événements en Go
- Aperçu des bibliothèques et frameworks populaires pour la messagerie en Go
- Exemples de code : dispatching et traitement des événements en utilisant des modèles idiomatiques en Go
- Séance pratique : Construction d'un service simple basé sur les é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'usage et meilleures pratiques pour les systèmes basés sur Go
- Configuration de l'infrastructure de messagerie
- Installation avec Docker Compose pour Kafka, RabbitMQ ou NATS
- Configuration des sujets, échanges, files d'attente et canaux
- Aperçu des bibliothèques clientes Go
- Séance de travail 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, suivi et sujets avancés en EDA Go
- Déploiement d'applications basées sur les événements 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 scaling des consommateurs d'événements
- Gestion des erreurs et suivi
- Gestion des échecs d'événements avec des stratégies
- Mise en place de l'observabilité dans les services Go
- Sujets avancés et Q&A
- Exploration des architectures événementielles sans serveur avec Go
- Chorégraphie d'événements vs. orchestration : cas d'usage et considérations de conception
- Pièges courants, leçons apprises et meilleures pratiques
- Séance Q&A 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
- Facultatif mais utile : exposition préalable à Kubernetes et aux systèmes de messagerie comme Kafka, RabbitMQ ou NATS
Public cible
- Développeurs Go construisant des applications événementielles scalables
- Ingénieurs logiciels transitionnant des architectures monolithiques ou basées sur REST vers 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