Plan du cours
Jour 1 : Fondamentaux de l'architecture pilotée par les événements en Go
- Introduction à l'EDA
- Qu'est-ce que l'architecture pilotée par les événements ?
- Comparaison des systèmes monolithiques, microservices et pilotés par des événements
- Pourquoi le modèle de concurrence de Go et ses goroutines légères sont idéaux 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 concrets et études de cas où Go alimente des systèmes d'événements 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 cohérence et disponibilité dans les systèmes basés sur Go
Jour 2 : Événements, messages et patterns 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
- Patterns de messagerie en pratique
- Publish-Subscribe (Pub/Sub) en Go
- Comment concevoir et structurer les charges utiles d'é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 Go populaires pour la messagerie
- Exemples de code : distribution et traitement des événements en utilisant des patterns idiomatiques Go
- Session pratique : construction d'un service piloté par des événements simple 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
- Configuration avec Docker Compose pour Kafka, RabbitMQ ou NATS
- Configuration des topics, échanges, 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 en EDA avec Go
- Déploiement des applications Go pilotées par des événements sur Kubernetes
- Conteneurisation des applications Go pour la production
- Déploiement de Kafka (ou autres courtiers) sur des clusters Kubernetes
- Introduction à KEDA (Kubernetes Event-Driven Autoscaling) pour l'évolutivité des consommateurs d'événements
- Gestion des erreurs et surveillance
- Gestion des échecs d'événements avec des stratégies
- 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 vs orchestration des événements : cas d'utilisation et considérations de conception
- Écueils 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 de goroutines et de canaux
- Compréhension de base des modèles d'architecture logicielle tels que les architectures monolithiques et 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
- Facultatif mais utile : exposition préalable à Kubernetes et à des systèmes de messagerie tels que Kafka, RabbitMQ ou NATS
Audience cible
- Développeurs Go concevant des applications évolutives pilotées par des événements
- Ingénieurs logiciels évoluant depuis 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 en 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