Architectural design patterns applied to Distributed Systems
summary
Claims migration from sync REST to an event driven system that scales from millions to hundreds of millions of messages per month, concrete stack details (Java Spring Boot with reactive code, MySQL, Redis, Kafka + RabbitMQ), and a tracing pipeline using OpenTelemetry → Tempo → Grafana with a Kafka buffer to avoid span loss. Includes a public playground repo with example services and dashboards, shows trouble cases found (slow DB query, Redis timeout) and how tracing+metrics+logs actually locate root causes.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:05Why distributed systems matter
- 3:13Distributed systems types
- 4:59Event-driven architectures
- 7:55Conversation API use case
- 9:21Request-response limitations
- 11:51Scaling to event-driven
- 15:02Technical stack
- 16:09Troubleshooting challenges
- 19:45Distributed tracing basics
- 23:04Tracing in production
- 28:50Daily troubleshooting
- 31:23Code repository
- 32:05Event-driven pros and cons
- 34:33Complexity realities
- 35:40Transition lessons
- 37:05Closing
related talks
23mDesigning Robust and Scalable Distributed Applications
42mDistributed Monitoring: How to understand the Chaos
36mBuild a Cloud Native Asynchronous Messaging System For Scale With Redis
54mReacting to an Event-Driven World
31mHundreds of Microservices without breaking your APIs
55mHow to fail at building a reactive information system? — MNT postmortem
31mDesigning a mission critical event system
27mObserving Failure in Reactive Systems
