Prenez contact avec nous

Plan du cours

Jour 1 : Fondamentaux de l’architecture orientée aux événements en Go

  • Introduction à l’EDA
    • Qu’est-ce que l’architecture orientée aux événements ?
    • Comparaison des systèmes monolithiques, des microservices et des systèmes orientés aux é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, é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 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 modèles de communication en Go

  • Comprendre les types d’événements
    • Événements de domaine par opposition aux événements d’intégration
    • Événements synchrones par opposition aux événements 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 d’événements en Go
    • Aperçu des bibliothèques et frameworks Go populaires pour la messagerie
    • Exemples de code : acheminement et traitement des événements à l’aide de patterns idiomatiques Go
    • Séance pratique : construction d’un simple service orienté aux événements en Go

Jour 3 : Systèmes de messagerie et courtiers d’événements avec Go

  • Sélection et intégration de courtiers d’événements
    • Aperçu des courtiers populaires : Apache Kafka, RabbitMQ et NATS
    • Comparaison des cas d’usage et des meilleures pratiques pour les systèmes basés sur Go
  • Configuration de l’infrastructure de messagerie
    • Configuration Docker Compose pour Kafka, RabbitMQ ou NATS
    • Configuration des sujets, des exchanges, des files d’attente et des 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, supervision et sujets avancés en EDA Go

  • Déploiement des applications orientées aux é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 dimensionnement des consommateurs d’événements
  • Gestion des erreurs et supervision
    • Gestion des échecs d’événements à l’aide de stratégies adaptées
    • Mise en œuvre de l’observabilité dans les services Go
  • Sujets avancés et questions-réponses
    • Exploration des architectures orientées aux événements serverless avec Go
    • Chorégraphie d’événements par opposition à l’orchestration : cas d’usage et considérations de conception
    • Pièges fréquents, 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éseautage
  • Expérience avec les outils en ligne de commande et Git
  • Optionnel mais utile : exposure antérieure à Kubernetes et aux systèmes de messagerie comme Kafka, RabbitMQ ou NATS

Public cible

  • Développeurs Go construisant des applications orientées aux événements évolutives
  • 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
 28 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (7)

Cours à venir

Catégories Similaires