Building Event-Driven Applications In Go
3h 24mAdvanced2024-11-07
Authors

Michael Okuboyejo
Course details
Level up as an advanced Go developer in this course with instructor Michael Okuboyejo. Michael guides you through the essentials of event-driven architecture, focusing on key patterns such as event sourcing and command and query responsibility segregation (CQRS). Learn about the fundamentals of producing and consuming events efficiently using popular Go libraries and Kafka as a message broker. Along the way, Michael outlines practical strategies for ensuring system resilience and consistency, error handling in an event-driven context, and deploying applications effectively. By the end of this course, you’ll be equipped with the skills required to build robust event-driven applications in Go and ensure they’re ready for scalable production environments.
Learning objectives
Analyze the principles of event-driven architecture, including event sourcing and command and query responsibility segregation (CQRS) patterns, to design scalable and resilient systems.
Construct event-driven applications in Go, utilizing the official Kafka Go Client and Kafka as a message broker, to efficiently produce and consume events.
Evaluate strategies for ensuring system resilience, consistency, error handling, and deployment of event-driven applications in production environments.
Learning objectives
Analyze the principles of event-driven architecture, including event sourcing and command and query responsibility segregation (CQRS) patterns, to design scalable and resilient systems.
Construct event-driven applications in Go, utilizing the official Kafka Go Client and Kafka as a message broker, to efficiently produce and consume events.
Evaluate strategies for ensuring system resilience, consistency, error handling, and deployment of event-driven applications in production environments.
Skills covered
TelecommunicationsFull-Stack Web DevelopmentAdvancedWeb DevelopmentProgramming LanguagesNetwork and System AdministrationSoftware Development
Concepts
0. Introduction
- 01 - Event-driven applications in Go
1. Overview of Event-Driven Architecture
- 02 - What is EDA
- 03 - What are the benefits of using EDA
- 04 - Common use cases of event driven applications in real-world applications
- 05 - Comparing architectures - Event-driven vs. RESTful APIs
- 06 - Event sourcing and CQRS (Command Query Responsibility Segregation)
2. Event-Driven Architecture Concepts and Components
- 07 - Events and event handlers in Go
- 08 - Message brokers and event streams
- 09 - The event store
3. Building Event Publishers and Subscribers In Go
- 10 - Setting up your Go environment
- 11 - Implementing an event publisher in Go using Kafka
- 12 - Building an event subscriber in Go
4. Event-Driven Application Patterns
- 13 - Implementing event sourcing in Go
- 14 - Command query responsibility segregation (CQRS) in Go
- 15 - Error handling
- 16 - Monitoring event driven systems
5. Event-Driven Communication Patterns
- 17 - Publish-subscribe pattern in Go
- 18 - Message queues and message brokers
- 19 - Implementing message-driven communication patterns - Things you should know
- 20 - Event-driven vs. message-driven architectures
- 21 - Factors to consider when selecting a broker
6. Testing Event Driven Systems
- 22 - Unit testing event handlers and publishers
- 23 - Integration and end-to-end testing
- 24 - Best practices for unit testing
7. Best Practices and Strategies
- 25 - Operational best practices for maintaining and scaling event-driven systems
- 26 - Recap of key concepts covered in the course
- 27 - Final thoughts - Robust and scalable event-driven Go apps
Related courses
- Advanced Azure Microservices with .NET for Developers
- Microservices: Asynchronous Messaging
- Software Architecture: Patterns for Developers
- No-Code Solutions for Web Sites and Apps
- Deep Learning and Generative AI: Data Prep, Analysis, and Visualization with Python
- Artificial Intelligence Foundations: Neural Networks
- Building an Event-Driven Application Using Azure Event Grid
- Dapr for Azure Developers with .NET Part 1