Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Modular Monolith Architecture
00 - Introduction
Agenda, Your Instructor, Course Structure (5:57)
How To Use This Course (2:32)
01 - Modular Monoliths: Introduction
Introduction, Monoliths and Microservices (15:27)
Modular Monoliths (14:56)
Module Constraints (15:51)
02 - Defining Module Boundaries
Domain-Driven Design, Event Storming, Bounded Contexts (15:20)
Introducing Evently Sample Application (6:10)
Building the First Module (35:36)
Refactoring to Clean Architecture (38:37)
Events Module Review (11:01)
03 - Module Cross-Cutting Concerns
Cross-Cutting Concerns (6:19)
Dependency Injection (14:47)
Module Configuration (5:12)
Structured Logging With Serilog and Seq (10:43)
Exception Handling (5:47)
Validation With FluentValidation (6:13)
Distributed Caching With Redis (9:30)
Health Checks (6:22)
Automatically Registering Endpoints (8:18)
04 - Module Communication
Module Communication Patterns (9:06)
Publishing Domain Events (7:03)
Introducing the Users Module (7:29)
Scaffolding the Ticketing Module (4:02)
Synchronous Communication (17:49)
Duplicating Data Between Modules (10:06)
Asynchronous Communication (17:23)
Eventual Consistency: Introduction (9:25)
05 - Authentication & Authorization
Authentication & Authorization (3:33)
Keycloak Identity Provider Setup (18:58)
Token Based Authentication (14:39)
User Registration With KeyCloak (22:22)
RBAC Authorization (23:56)
Stop Here: A Quick Intermission
2 Short Asks (1:13)
06 - Architecture Enforcement
Architecture Enforcement (5:50)
Modular Architecture (10:03)
Architecture Testing (19:30)
07 - Reliable Messaging: Outbox and Inbox
Reliable Messaging (4:14)
Outbox Pattern (31:56)
Outbox: Idempotent Consumers (21:21)
Inbox Pattern (12:56)
08 - Event-Driven Architecture
Event-Driven Architecture (11:49)
Event Notifications (5:29)
Event-Carried State Transfer (5:48)
Materialized Views and CQRS (11:15)
Saga Pattern, Orchestration (25:08)
09 - Testing Modular Monoliths
Testing Modular Monoliths (7:13)
Unit Testing (14:57)
Integration Testing (30:31)
System Integration Testing (13:49)
Automated Testing in CI/CD Pipelines (7:35)
10 - Microservices: Extracting Modules
Microservices Benefits, Extracting Modules (6:27)
Distributed Tracing, OpenTelemetry (17:06)
Distributed Messaging With RabbitMQ (10:53)
API Gateways, Introducing YARP (19:02)
Extracting Modules to Microservices (30:46)
Wrapping Up: A Small Ask
A Note From Me (0:56)
Bonus - Modular Monoliths: CQRS With MongoDB
Introduction, Document Databases (9:21)
Implementing CQRS With MongoDB (31:00)
A Small Ask From Me (1:14)
Helpful Resources
Postman Collections, OpenAPI
SQL Migration Scripts
Source Code
Slides
Microservices Benefits, Extracting Modules
Complete and Continue