HomeCoursesEvent-Driven Architecture in Golang
4.3

Intermediate

35h

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.
Join 2.7M developers at
Overview
Content
Reviews
Related
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.
Event-driven architecture (EDA) is an architecture that helps organizations decouple microservices and avoid developing another ...Show More

WHAT YOU'LL LEARN

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
Basic understanding of the benefits of event-driven architecture (EDA) in decoupling microservices and how to avoid distributed monoliths

Show more

Content

1.

Overview

1 Lessons

Get familiar with event-driven architecture in Go for microservices and practical insights.

2.

Introduction to Event-Driven Architectures

8 Lessons

Look at Event-Driven Architecture’s concepts, patterns, core components, and implementation challenges.

3.

Supporting Patterns in Brief

10 Lessons

Break apart event-driven architecture patterns, Domain-Driven Design principles, and effective application strategies.

4.

Design and Planning

13 Lessons

Break down complex ideas with EventStorming, DDD, BDD, and recording architectural decisions.

5.

Event Foundations

11 Lessons

Take a closer look at event-driven design and modular monolith architecture in Golang.

6.

Tracking Changes with Event Sourcing

14 Lessons

Focus on mastering event sourcing in Golang, including implementation, CQRS, snapshots, and domain events.

7.

Asynchronous Connections

14 Lessons

Master the steps to implementing asynchronous communication in Golang using NATS JetStream.

8.

Event-Carried State Transfer

10 Lessons

Step through event-carried state transfer to enhance module independence and efficient communication.

9.

Message Workflows

12 Lessons

Walk through methods for distributed workflows, including 2PC, sagas, and orchestrated operations.

10.

Transactional Messaging

10 Lessons

Work your way through enhancing transactional messaging, DI management, and message deduplication in Golang.

11.

Testing

15 Lessons

Enhance your skills in testing event-driven applications with unit, integration, and contract tests.

12.

Deploying Applications to the Cloud

11 Lessons

Solve problems in cloud deployment, transforming monoliths to microservices with AWS tools.

13.

Monitoring and Observability

7 Lessons

Follow the process of enhancing observability using OpenTelemetry, Prometheus, Jaeger, and Grafana.

14.

Appendix

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.

Course Author:

Developed by MAANG Engineers
Every Educative lesson is designed by a team of ex-MAANG software engineers and PhD computer science educators, and developed in consultation with developers and data scientists working at Meta, Google, and more. Our mission is to get you hands-on with the necessary skills to stay ahead in a constantly changing industry. No video, no fluff. Just interactive, project-based learning with personalized feedback that adapts to your goals and experience.

Trusted by 2.7 million developers working at companies

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

AI Prompt

Build prompt engineering skills. Practice implementing AI-informed solutions.

Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

Explain with AI

Select any text within any Educative course, and get an instant explanation — without ever leaving your browser.

AI Code Mentor

AI Code Mentor helps you quickly identify errors in your code, learn from your mistakes, and nudge you in the right direction — just like a 1:1 tutor!

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