Setting Up Kafka Multi-Tenancy 
DoorDash Engineering » Backend
by Yunji Zhong, Amit Gud and Carlos Herrera
2M ago
Real-time event processing is a critical component of a distributed system’s scalability. At DoorDash, we rely on message queue systems based on Kafka to handle billions of real-time events. One of the challenges we face, however, is how to properly validate the system before going live. Traditionally, an isolated environment such as staging is used to validate new features. But setting up a different data traffic pipeline in a staging environment to mimic billions of real-time events is difficult and inefficient, while requiring ongoing maintenance to keep data up-to-date. To address this cha ..read more
Visit website
Introducing DoorDash’s In-House Search Engine
DoorDash Engineering » Backend
by Konstantin Shulgin, Satish Subhashrao Saley and Anish Walawalkar
3M ago
We reviewed the architecture of our global search at DoorDash in early 2022 and concluded that our rapid growth meant within three years we wouldn’t be able to scale the system efficiently, particularly as global search shifted from store-only to a hybrid item-and-store search experience. Our analysis identified Elasticsearch as our architecture’s primary bottleneck. Two primary aspects of that search engine were causing the trouble: its document-replication mechanism and its lack of support for complex document relationships. In addition, Elasticsearch does not provide internal capabilities f ..read more
Visit website
Cassandra Unleashed: How We Enhanced Cassandra Fleet’s Efficiency and Performance
DoorDash Engineering » Backend
by Seed Zeng
4M ago
In the realm of distributed databases, Apache Cassandra stands out as a significant player. It offers a blend of robust scalability and high availability without compromising on performance. However, Cassandra also is notorious for being hard to tune for performance and for the pitfalls that can arise during that process. The system’s expansive flexibility, while a key strength, also means that effectively harnessing its full capabilities often involves navigating a complex maze of configurations and performance trade-offs. If not carefully managed, this complexity can sometimes lead to unexpe ..read more
Visit website
Meeting DoorDash Growth with a Self-Service Logistics Configuration Platform 
DoorDash Engineering » Backend
by Saurabh Gupta and Reid Arwood
4M ago
DoorDash has grown from executing simple restaurant deliveries to working with a wide variety of businesses, ranging from grocery and retail to parcels and pet supplies. Each business faces its own set of constraints as it strives to meet its goals. Our logistics teams — which range across a number of functions, including Dashers, assignment, payment processes, and time estimations — seek to achieve these goals by tuning a variety of configurations for each use case and type of business.  Although that process started with a limited set of configurations, the old system struggled to keep ..read more
Visit website
Staying in the Zone: How DoorDash used a service mesh to manage  data transfer, reducing hops and cloud spend
DoorDash Engineering » Backend
by Hochuen Wong and Levon Stepanian
4M ago
There have been many benefits gained through DoorDash’s evolution from a monolithic application architecture to one that is based on cells and microservices. The new architecture has reduced the time required for development, test, and deployment and at the same time has improved scalability and resiliency for end-users including merchants, Dashers, and consumers. As the number of microservices and back-ends has grown, however, DoorDash has observed an uptick in cross-availability zone (AZ) data transfer costs. These data transfer costs — incurred on both send and receive — allow DoorDash to p ..read more
Visit website
Privacy Engineering at DoorDash Drive
DoorDash Engineering » Backend
by Alex Dougherty
6M ago
DoorDash proactively embeds privacy into our products. As an example of how we do so, we delve here into an engineering effort to maintain user privacy. We will show how geomasking address data allows DoorDash to protect user privacy while maintaining local analytic capabilities. Privacy engineering overview To facilitate deliveries, users must give us some personal information, including such things as names, addresses, and phone numbers, in a Drive API request. This information is needed for Dashers to know where and to whom to deliver an order. Because this information can be used to re-ide ..read more
Visit website
Leveraging Flink to Detect User Sessions and Engage DoorDash Consumers with Real-Time Notifications
DoorDash Engineering » Backend
by Chen Yang and Fan Zhang
7M ago
At Doordash, we value every chance to boost order conversions in the app. When users fail to complete a purchase after adding items to their carts, we send push notifications such as the one shown in Figure 1 to remind them that their orders are still pending. It has been difficult, however, to determine whether users actually have abandoned their carts or instead are simply browsing for more items or different merchants within the app. Figure 1: An example of a real-time push notification to prompt purchase completion. To polish the notification experience, we want to ensure that cart abandon ..read more
Visit website
Revamping Dasher FAQ Hub Through Server-Driven Content and WebView
DoorDash Engineering » Backend
by Kent Lee, Jason Prasad, Siddharth Utgikar and Josephine Chen
7M ago
At DoorDash, dashing is highly process dependent. Dashers require a firm grasp of the end-to-end delivery process to complete orders successfully — and earn money. The first iteration of DoorDash support content did more to explain how to dash, handle common delivery issues and pitfalls, and maximize the dashing experience than subsequent iterations have done. Our recent effort to revamp the Dasher support hub built a system that allows Dashers to find support answers independently, which reduces support costs. However, the existing resources available to answer common Dasher issues were:  ..read more
Visit website
How DoorDash Standardized and Improved Microservices Caching
DoorDash Engineering » Backend
by Lev Neiman and Jason Fan
7M ago
As DoorDash’s microservices architecture has grown, so too has the volume of interservice traffic. Each team manages their own data and exposes access through gRPC services, an open-source remote procedure call framework used to build scalable APIs. Most business logic is I/O-bound because of calls to downstream services. Caching has long been a go-to strategy to improve performance and reduce costs. However, the lack of a uniform approach to caching has led to complications. Here we explain how we have streamlined caching through a Kotlin library, offering backend developers a fast, safe, and ..read more
Visit website
Addressing the Challenges of Sample Ratio Mismatch in A/B Testing
DoorDash Engineering » Backend
by Stas Sajin, Michael Zhou and Krishna Gourishetti
7M ago
Experimentation isn’t just a cornerstone for innovation and sound decision-making; it’s often referred to as the gold standard for problem-solving, thanks in part to its roots in the scientific method. The term itself conjures a sense of rigor, validity, and trust. Yet as powerful as experimentation is, its integrity can be compromised by overlooked details and unforeseen challenges. One of these challenges is sample ratio mismatch, or SRM.  SRM represents one of the most egregious data quality issues in A/B tests because it fundamentally compromises the basic assumption of random assignm ..read more
Visit website

Follow DoorDash Engineering » Backend on FeedSpot

Continue with Google
Continue with Apple
OR