TLDR Web Dev · ARTICLES & TUTORIALS
THE ARCHITECTURE OF DOORDASH'S CACHING SYSTEM
Summary from the TLDR Web Dev newsletter
DoorDash transitioned from a Python monolith to a microservices architecture, using Kotlin and gRPC for service communication. To minimize latency, it focused on reducing network requests, primarily by implementing caching with Caffeine for local caching and Redis Lettuce for distributed caching. However, different teams independently creating caching solutions led to issues like cache staleness, lack of runtime controls, inadequate metrics, and inconsistent key schemas. To address this, DoorDash developed a shared caching library with features like layered caching (request local, local, and Redis caches), runtime feature flags for customization, and observability tools to monitor cache performance.