Course Outline

Day 1: Foundations of Event-Driven Architecture in Go

  • Introduction to EDA
    • What is Event-Driven Architecture?
    • Comparing Monolithic, Microservices, and Event-Driven Systems
    • How Go’s concurrency model and lightweight goroutines make it ideal for EDA
  • Core Concepts & Benefits
    • Decoupling, scalability, and resilience in enterprise systems
    • Defining Events, Producers, Consumers, and Event Brokers
    • Real-world examples and case studies where Go powers high-performance event systems
  • CAP Theorem & Trade-offs in EDA
    • Overview of Consistency, Availability, and Partition Tolerance
    • Impact of EDA on these properties
    • Strategies for balancing consistency and availability in Go-based systems

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

  • Understanding Event Types
    • Domain Events vs. Integration Events
    • Synchronous vs. Asynchronous events in Go applications
  • Messaging Patterns in Practice
    • Publish-Subscribe (Pub/Sub) in Go 
    • How to design and structure event payloads using JSON, Protocol Buffers, or Avro in Go
  • Implementing Event Handling in Go
    • Overview of popular Go libraries and frameworks for messaging 
    • Code examples: dispatching and processing events using idiomatic Go patterns
    • Hands-on session: Building a simple event-driven service in Go

Day 3: Messaging Systems & Event Brokers with Go

  • Selecting and Integrating Event Brokers
    • Overview of popular brokers: Apache Kafka, RabbitMQ, and NATS
    • Comparison of use cases and best practices for Go-based systems
  • Setting Up Messaging Infrastructure
    • Docker Compose setup for Kafka, RabbitMQ, or NATS
    • Configuring topics, exchanges, queues, and channels
    • Go client libraries overview
  • Hands-On Workshop
    • Building a sample Go microservice that produces and consumes events
    • Integrating the service with the chosen event broker
    • Debugging and testing event flows

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

  • Deploying Go Event-Driven Applications on Kubernetes
    • Containerizing Go applications for production
    • Deploying Kafka (or other brokers) on Kubernetes clusters
    • Introduction to KEDA (Kubernetes Event-Driven Autoscaling) for scaling event consumers
  • Error Handling and Monitoring
    • Handling event failures with strategies 
    • Implementing observability in Go services
  • Advanced Topics & Q&A
    • Exploring Serverless Event-Driven Architectures with Go
    • Event Choreography vs. Orchestration: Use cases and design considerations
    • Common pitfalls, lessons learned, and best practices
    • Open Q&A session and interactive troubleshooting

 


Requirements

Go (Golang) programming skills, including concurrency (goroutines, channels)
Basic understanding of software architecture (monoliths, microservices)
Familiarity with Docker and Docker Compose
Basic knowledge of REST APIs and networking
Experience using CLI tools and Git
Optional: Exposure to Kubernetes and messaging systems (Kafka, RabbitMQ, NATS)
 
 28 Hours

Delivery Options

Private Group Training

Our identity is rooted in delivering exactly what our clients need.

  • Pre-course call with your trainer
  • Customisation of the learning experience to achieve your goals -
    • Bespoke outlines
    • Practical hands-on exercises containing data / scenarios recognisable to the learners
  • Training scheduled on a date of your choice
  • Delivered online, onsite/classroom or hybrid by experts sharing real world experience

Private Group Prices RRP from €9120 online delivery, based on a group of 2 delegates, €2880 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.

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


Public Training

Please see our public courses

Testimonials (7)

Provisonal Upcoming Courses (Contact Us For More Information)

Related Categories