Deep Dive talk | Resilience in Microservices with Congestion Control
summary
Shows a concrete Java Spring Boot implementation using a 30-slot LinkedBlockingQueue and a thread-pool plus DeferredResult to enforce bounded queueing and an age filter. Under a 60→120 rps spike the unguided server’s latencies climb to minutes while the guarded server stays in seconds, returns 429 responses for excess work, and recovers immediately. Grafana dashboards and a Docker Compose demo (code on GitHub) validate that measuring age and WIP metrics locally detects congestion early and successfully limits end-to-end client impact.
AI-written summary · about
chapters (8)
- 0:00Introduction and welcome
- 1:51Why customer experience matters
- 6:24Measuring request flow in microservices
- 13:47Limiting queue size and age to control congestion
- 21:06Demo: Default vs improved server under load
- 28:46Resilience by design in microservices
- 34:03Summary and key takeaways
- 35:06Q&A session
related talks
40mEverything Will Flow
49mReactive Spring
44m3 common pitfalls in microservice integration and how to avoid them
01h 52m100% Fast and Resilient Microservice with RSocket
53mScaling Spring Boot Microservices
46mCloud Native Java, part deux
41mBuilding Low Latency Microservices & Monoliths in Java
40mResilient Design 101: Queue Theory
