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
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)
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)
we write some code in GO and we learn some stuff regarding EDA like events, when and how.
Alin
Course - Event Driven Architecture Custom
It was an interactive course, no time to sleep :)). Also was nice to work in teams and then to debate according to each result.
Alina
Course - Event Driven Architecture Custom
I enjoyed most the discussions and the examples provided so we could reach by ourselves to the conclusions he wanted to share with us. I liked the pace, the english, the patience, that even if we did not came with the best answer he would not say it is wrong, but came with examples of what could be better.
Simona
Course - Event Driven Architecture Custom
The open discussions and going from understanding the problems/reasons (the `why`) to `EDA`.
Constantin
Course - Event Driven Architecture Custom
the approach of presenting things heavily based on interaction and examples
Virgil
Course - Event Driven Architecture Custom
The interactive nature of the course The self-discovery learning approach where you found answers yourselves The practical focus with real-life examples that made concepts more relatable
Roxana Sandu
Course - Event Driven Architecture Custom
Very interactive. The trainer was very knowledgeable and patient.