AI-powered learning
Save this course
Event-Driven Architecture in Golang
Explore event-driven architecture in Golang to decouple microservices, enable real-time interactions, and convert synchronous mechanisms into asynchronous communication with practical examples.
4.8
138 Lessons
35h
Join 2.9 million developers at
Join 2.9 million developers at
LEARNING OBJECTIVES
- Basic understanding of the benefits of event-driven architecture (EDA) in decoupling microservices and how to avoid distributed monoliths
- An understanding of how event-driven architecture (EDA) facilitates easier development, scalability, and real-time interactions in web applications
- Familiarity with the challenges associated with choosing a new architecture or refactoring existing applications and learning strategies for overcoming these challenges
- Hands-on experience implementing event-driven architecture (EDA) in microservices-based applications through a modular monolith demonstration application
Learning Roadmap
2.
Introduction to Event-Driven Architectures
Introduction to Event-Driven Architectures
Look at Event-Driven Architecture’s concepts, patterns, core components, and implementation challenges.
3.
Supporting Patterns in Brief
Supporting Patterns in Brief
10 Lessons
10 Lessons
Break apart event-driven architecture patterns, Domain-Driven Design principles, and effective application strategies.
4.
Design and Planning
Design and Planning
13 Lessons
13 Lessons
Break down complex ideas with EventStorming, DDD, BDD, and recording architectural decisions.
5.
Event Foundations
Event Foundations
11 Lessons
11 Lessons
Take a closer look at event-driven design and modular monolith architecture in Golang.
6.
Tracking Changes with Event Sourcing
Tracking Changes with Event Sourcing
14 Lessons
14 Lessons
Focus on mastering event sourcing in Golang, including implementation, CQRS, snapshots, and domain events.
7.
Asynchronous Connections
Asynchronous Connections
14 Lessons
14 Lessons
Master the steps to implementing asynchronous communication in Golang using NATS JetStream.
8.
Event-Carried State Transfer
Event-Carried State Transfer
10 Lessons
10 Lessons
Step through event-carried state transfer to enhance module independence and efficient communication.
9.
Message Workflows
Message Workflows
12 Lessons
12 Lessons
Walk through methods for distributed workflows, including 2PC, sagas, and orchestrated operations.
10.
Transactional Messaging
Transactional Messaging
10 Lessons
10 Lessons
Work your way through enhancing transactional messaging, DI management, and message deduplication in Golang.
11.
Testing
Testing
15 Lessons
15 Lessons
Enhance your skills in testing event-driven applications with unit, integration, and contract tests.
12.
Deploying Applications to the Cloud
Deploying Applications to the Cloud
11 Lessons
11 Lessons
Solve problems in cloud deployment, transforming monoliths to microservices with AWS tools.
13.
Monitoring and Observability
Monitoring and Observability
7 Lessons
7 Lessons
Follow the process of enhancing observability using OpenTelemetry, Prometheus, Jaeger, and Grafana.
14.
Appendix
Appendix
2 Lessons
2 Lessons
Piece together the parts of setting up the local environment and DevOps tools.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Complete more lessons to unlock your certificate
Developed by MAANG Engineers
ABOUT THIS COURSE
Event-driven architecture (EDA) is an architecture that helps organizations decouple microservices and avoid developing another distributed monolith. Companies are adopting event-driven architecture (EDA) as their web applications grow in size and complexity. Adding or developing your application around real-time interactions becomes easier with EDA. Choosing a new architecture for your next application or deciding to refactor an existing one can be fraught with known and unknown challenges.
In this course, you will be provided with enough examples and knowledge to give you a great head start should you decide to take the development of an EDA. Moreover, you will discuss and cover EDA concepts and related topics with the help of a small modular monolith demonstration application.
After completing this course, you will be empowered to use this application to explore the concepts and topics and convert the application’s synchronous mechanisms into asynchronous communication mechanisms.
ABOUT THE AUTHOR
Packt
A tech learning platform that provides online courses, eBooks, videos, and other resources to help individuals and organizations stay ahead of emerging and popular technologies.
Trusted by 2.9 million developers working at companies
A
Anthony Walker
@_webarchitect_
E
Evan Dunbar
ML Engineer
S
Software Developer
Carlos Matias La Borde
S
Souvik Kundu
Front-end Developer
V
Vinay Krishnaiah
Software Developer
Built for 10x Developers
No Passive Learning
Learn by building with project-based lessons and in-browser code editor


Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go


Future-proof Your Career
Get hands-on with in-demand skills


AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"




MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies


Free Resources