Subscribe

Backend

Backend

Using Display Modules to Enable Rapid Experimentation on DoorDash’s Homepage

Learn how a flexible UI that utilized display modules enabled rapid experimentation

Read More Danial Asif
Backend Data

Integrating a Search Ranking Model into a Prediction Service

Learn how moving ML models to a prediction service can free up RAM and CPU for more scalable development

Read More Sarah Chen
Backend

Eliminating Task Processing Outages by Replacing RabbitMQ with Apache Kafka Without Downtime

Learn how we utilized a custom Kafka solution to reduce outages and enable horizontal scalability for task processing

Read More Saba Khalilnaji
Backend

Building Reliable Workflows: Cadence as a Fallback for Event-Driven Processing

Reengineering our event-driven delivery service for DoorDash Drive into Kotlin, we added the open source Cadence as a fallback for retries.

Read More Alan Lin
Backend General

Scaling Splunk Securely by Building a Custom Terraform Provider

Ensure your growing team can search, analyze, and visualize data securely by integrating Splunk with a custom built Terraform provider.

Read More Esha Mallya
Backend Data Machine Learning

Enabling Efficient Machine Learning Model Serving by Minimizing Network Overheads with gRPC

Learn the challenges of reducing network overheads with gRPC optimizations

Read More Arbaz Khan
Backend Machine Learning

Next-Generation Optimization for Dasher Dispatch at DoorDash

Learn how we optimized dasher selection using data science

Read More Holly Jin
Backend

Writing Delightful HTTP Middleware in Go

While writing complex services in go, one typical topic that you will encounter is middleware. This topic has been discussed again, and again, and again, on internet. Essentially a middleware should allow us to: Intercept a ServeHTTP call, and execute any arbitrary code. Make changes to request/response flow along continuation chain. Break the middleware chain, ...

Read More Zohaib Sibte Hassan
Backend

Speeding Up Redis with Compression

One of challenges we face almost everyday is to keep our API latency low. While the problem sounds simple on the surface, it gets interesting sometimes. One of our endpoints that serves restaurant menus to our consumers had high p99 latency numbers. Since it’s a high traffic endpoint we naturally use caching pretty intensively. We ...

Read More Zohaib Sibte Hassan
Backend General

Enforce Timeout: A DoorDash Reliability Methodology

“What would happen if we removed statement timeouts in our Postgresql databases?” That’s one of the questions asked in a management meeting. At the time I only responded that it would be bad — it would cause problems and make it harder to debug. However, I realize now that this is a topic that many people don’t ...

Read More Zhaobang Liu
Backend

Scaling StatsD

Overview Monitoring is hugely important, especially for a site like DoorDash that operates 24/7. In modern-day DevOps, monitoring allows us to be responsive to issues and helps us maintain reliable services. At DoorDash, we use StatsD heavily for custom metrics monitoring. In this blog post, we take a deeper look at how DoorDash uses StatsD ...

Read More Jing Zhao
Backend

Avoiding Cache Stampede at DoorDash

One of the core mottoes on the engineering team at DoorDash is: We are only as good as our next delivery! With high traffic loads and orders flying in, every engineering decision has a critical impact on what our customers, merchants, and dashers will experience. We have to pay careful attention to the details and ...

Read More Zohaib Sibte Hassan

Sign up for updates

Thank you for subscribing!

Sign up for updates