Microservices Architecture: Design Principles & Best Practices
summary
A concrete order/payment system is built and demonstrated: three microservices (order, payment, notification) communicate via events, a background job consumes OrderCreated events and processes payments, and Azure Functions push notifications to a third‑party. The stack uses Onion Architecture for domain isolation, MediatR for command/handler flows, Azure Event Hubs for async decoupling, and Application Insights for traces, metrics, correlation IDs and alerts. The demo simulates happy paths, payment declines and third‑party outages; recommends idempotency, retries, dead‑letter queues and contract versioning.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:04Microservices overview
- 2:26Design principles
- 3:30Architecture stack
- 4:34Onion architecture
- 5:17Service boundaries
- 6:40Domain-driven flow
- 7:45Event-driven with Azure Event Hubs
- 8:26Application Insights for observability
- 9:07Production resilience
- 9:48Architecture takeaways and benefits
- 10:09Live demo
- 17:19Conclusion and Q&A
related talks
44mMicroservices - How to create problems by solving problems?
15mArchitecting Scalable Order Management Systems with Microservices
38mPatterns and Practices for Real-world event-driven microservices
32mMicroservices Orchestration with
16mMicroservices Paradise: is it possible to achieve?
51mEffective Microservice Communication and Conversation Patterns
26mImplementing Event-Driven Microservices Architecture (...)
24mPatterns of Evolution from Monolith to Microservices
