Event Driven Architecture Custom Certificate for Virgil Mihai
Add to LinkedIn
Certificate ID:
804883
Authentication Code:
fd54e
Certified Person Name:
Virgil Mihai
Trainer Name:
Ahmed Yossef
Duration Days:
4
Duration Hours:
28
Course Name:
Event Driven Architecture Custom
Course Date:
8 April 2025 10:00 to 11 April 2025 17:00
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