Learn how DoorDash engineers used a pipeline design pattern to make our recommendation page more efficient and flexible.
Enabling custom content propagation allows our microservices architecture to take advantage of several powerful use-cases
DoorDash defined four key challenges to getting its platform ready for an international launch.
Migrating DoorDash's business-critical session management system in a disruption-free manner required careful planning and monitoring.
To support our migration to microservices we needed to find a new tech stack. Learn how we compared all the options and chose Kotlin
New service releases deployed into DoorDash’s microservice architecture immediately begin processing and serving their entire volume of production traffic. If one of those services is buggy, however, customers may have a degraded experience or the site may go down completely. Although we currently have a traffic management solution under development for gradual service rollouts as ...
When companies move to microservices, they need to address a new challenge of setting up distributed tracing to identify availability or performance issues throughout the platform. While various tools offered on the market or through open-source perform this task, there is often a lack of standardization, making leveraging these tools costly or complicated. As DoorDash ...
As applications grow in complexity, memory stability is often neglected, causing problems to appear over time. When applications experience consequences of problematic memory implementations, developers may find it difficult to pinpoint the root cause. While there are tools available that automate detecting memory issues, those tools often require re-running the application in special environments, resulting ...
Asynchronous task management using Gevent improves scalability and resource efficiency for distributed systems. However, using this tool with Kafka can be challenging. At DoorDash, many services are Python-based, including the technologies RabbitMQ and Celery, which were central to our platform’s asynchronous task-queue system. We also leverage Gevent, a coroutine-based concurrency library, to further improve the ...
Building flexibility into the DoorDash platform lets us scale to serve a variety of retailers.
In 2020, DoorDash engineers extracted the consumer order checkout flow out of our monolithic service and reimplemented it in a new Kotlin microservice service. This effort, part of our migration from a monolithic codebase to a microservices architecture, increases our platform’s performance, reliability, and scalability. The consumer checkout flow is one of the most critical ...
DoorDash engineers built Infra Prober, a new monitoring tool, to continually look for component failures and provide accurate alerts.
Susbscribe to the DoorDash engineering blog