HomeCoursesEvent-Driven Architecture in Golang
AI-powered learning
Save

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

138 Lessons1 Project13 Quizzes

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.
Author NameEvent-Driven Architecture in Golang
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.

Learn more about Packt

Trusted by 2.9 million developers working at companies

These are high-quality courses. Trust me the price is worth it for the content quality. Educative came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks

A

Anthony Walker

@_webarchitect_

Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!

E

Evan Dunbar

ML Engineer

You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it.

S

Software Developer

Carlos Matias La Borde

I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site

S

Souvik Kundu

Front-end Developer

Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content.

V

Vinay Krishnaiah

Software Developer

Built for 10x Developers

No Passive Learning
Learn by building with project-based lessons and in-browser code editor
Learn by Doing
Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go
Learn by Doing
Future-proof Your Career
Get hands-on with in-demand skills
Learn by Doing
AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"
Learn by Doing
Learn by Doing
MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies
Learn by Doing

Free Resources

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath