Get in Touch

Course Outline

Day 1: Foundations of Event-Driven Architecture in Go

  • Introduction to EDA
    • What constitutes Event-Driven Architecture?
    • A comparative analysis of Monolithic, Microservices, and Event-Driven systems
    • Why Go’s concurrency model and lightweight goroutines are well-suited for EDA
  • Core Concepts & Benefits
    • Achieving decoupling, scalability, and resilience in enterprise environments
    • Defining Events, Producers, Consumers, and Event Brokers
    • Practical examples and case studies showcasing Go in high-performance event systems
  • CAP Theorem & Trade-offs in EDA
    • An overview of Consistency, Availability, and Partition Tolerance
    • The effect of EDA on these properties
    • Approaches for balancing consistency and availability in Go-based systems

Day 2: Events, Messages, and Communication Patterns in Go

  • Understanding Event Types
    • Distinguishing between Domain Events and Integration Events
    • Synchronous versus Asynchronous events within Go applications
  • Messaging Patterns in Practice
    • Implementing Publish-Subscribe (Pub/Sub) patterns in Go
    • Designing and structuring event payloads using JSON, Protocol Buffers, or Avro in Go
  • Implementing Event Handling in Go
    • Survey of popular Go libraries and frameworks for messaging
    • Code demonstrations: dispatching and processing events via idiomatic Go patterns
    • Practical session: Developing a basic event-driven service in Go

Day 3: Messaging Systems & Event Brokers with Go

  • Selecting and Integrating Event Brokers
    • An introduction to leading brokers: Apache Kafka, RabbitMQ, and NATS
    • Evaluating use cases and best practices for Go-based systems
  • Setting Up Messaging Infrastructure
    • Configuring Kafka, RabbitMQ, or NATS using Docker Compose
    • Setting up topics, exchanges, queues, and channels
    • Overview of Go client libraries
  • Hands-On Workshop
    • Creating a sample Go microservice that generates and consumes events
    • Connecting the service to the selected event broker
    • Debugging and testing event workflows

Day 4: Deploying, Monitoring, and Advanced Topics in Go EDA

  • Deploying Go Event-Driven Applications on Kubernetes
    • Containerizing Go applications for production use
    • Deploying Kafka (or alternative brokers) onto Kubernetes clusters
    • Introducing KEDA (Kubernetes Event-Driven Autoscaling) for managing event consumer scaling
  • Error Handling and Monitoring
    • Addressing event failures through defined strategies
    • Establishing observability within Go services
  • Advanced Topics & Q&A
    • Investigating Serverless Event-Driven Architectures with Go
    • Event Choreography vs. Orchestration: Application scenarios and design considerations
    • Common pitfalls, key takeaways, and industry best practices
    • Open Q&A session and collaborative troubleshooting

Requirements

  • Proficiency in Go (Golang), with particular focus on goroutines and channels.
  • A foundational grasp of software architecture models, including monolithic and microservice structures.
  • Familiarity with Docker and Docker Compose.
  • Basic understanding of REST APIs and networking principles.
  • Practical experience with command-line interfaces and Git.
  • While optional, prior exposure to Kubernetes and messaging platforms like Kafka, RabbitMQ, or NATS is advantageous.

Target Audience

  • Go developers focused on constructing scalable, event-driven applications.
  • Software engineers shifting from monolithic or REST-centric architectures to asynchronous systems.
  • DevOps and cloud engineers dealing with containerized or distributed microservices.
  • Technical architects and system designers investigating EDA patterns implemented in Go.
 28 Hours

Custom Corporate Training

Training solutions designed exclusively for businesses.

  • Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
  • Flexible Schedule: Dates and times adapted to your team's agenda.
  • Format: Online (live), In-company (at your offices), or Hybrid.
Investment

Price per private group, online live training, starting from 5200 € + VAT*

Contact us for an exact quote and to hear our latest promotions

Testimonials (7)

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories