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)
-
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
United Arab Emirates - Event Driven Architecture Custom
Qatar - Event Driven Architecture Custom
Egypt - Event Driven Architecture Custom
Saudi Arabia - Event Driven Architecture Custom
South Africa - Event Driven Architecture Custom
Brasil - Event Driven Architecture Custom
Canada - Event Driven Architecture Custom
中国 - Event Driven Architecture Custom
香港 - Event Driven Architecture Custom
澳門 - Event Driven Architecture Custom
台灣 - Event Driven Architecture Custom
USA - Event Driven Architecture Custom
Österreich - Event Driven Architecture Custom
Schweiz - Event Driven Architecture Custom
Deutschland - Event Driven Architecture Custom
Czech Republic - Event Driven Architecture Custom
Denmark - Event Driven Architecture Custom
Estonia - Event Driven Architecture Custom
Finland - Event Driven Architecture Custom
Greece - Event Driven Architecture Custom
Magyarország - Event Driven Architecture Custom
Ireland - Event Driven Architecture Custom
Luxembourg - Event Driven Architecture Custom
Latvia - Event Driven Architecture Custom
España - Event Driven Architecture Custom
Italia - Event Driven Architecture Custom
Lithuania - Event Driven Architecture Custom
Nederland - Event Driven Architecture Custom
Norway - Event Driven Architecture Custom
Portugal - Event Driven Architecture Custom
România - Event Driven Architecture Custom
Sverige - Event Driven Architecture Custom
Türkiye - Event Driven Architecture Custom
Malta - Event Driven Architecture Custom
Belgique - Event Driven Architecture Custom
France - Event Driven Architecture Custom
日本 - Event Driven Architecture Custom
Australia - Event Driven Architecture Custom
Malaysia - Event Driven Architecture Custom
New Zealand - Event Driven Architecture Custom
Philippines - Event Driven Architecture Custom
Singapore - Event Driven Architecture Custom
Thailand - Event Driven Architecture Custom
Vietnam - Event Driven Architecture Custom
India - Event Driven Architecture Custom
Argentina - Event Driven Architecture Custom
Chile - Event Driven Architecture Custom
Costa Rica - Event Driven Architecture Custom
Ecuador - Event Driven Architecture Custom
Guatemala - Event Driven Architecture Custom
Colombia - Event Driven Architecture Custom
México - Event Driven Architecture Custom
Panama - Event Driven Architecture Custom
Peru - Event Driven Architecture Custom
Uruguay - Event Driven Architecture Custom
Venezuela - Event Driven Architecture Custom
Polska - Event Driven Architecture Custom
United Kingdom - Event Driven Architecture Custom
South Korea - Event Driven Architecture Custom
Pakistan - Event Driven Architecture Custom
Sri Lanka - Event Driven Architecture Custom
Bulgaria - Event Driven Architecture Custom
Bolivia - Event Driven Architecture Custom
Indonesia - Event Driven Architecture Custom
Kazakhstan - Event Driven Architecture Custom
Moldova - Event Driven Architecture Custom
Morocco - Event Driven Architecture Custom
Tunisia - Event Driven Architecture Custom
Kuwait - Event Driven Architecture Custom
Oman - Event Driven Architecture Custom
Slovakia - Event Driven Architecture Custom
Kenya - Event Driven Architecture Custom
Nigeria - Event Driven Architecture Custom
Botswana - Event Driven Architecture Custom
Slovenia - Event Driven Architecture Custom
Croatia - Event Driven Architecture Custom
Serbia - Event Driven Architecture Custom
Bhutan - Event Driven Architecture Custom