Dragon Pastoral

凯龘牧歌

Chapter24 - Distributed Email Service

Posted at # SystemDesign

Distributed Email Service We'll design a distributed email service, similar to gmail in this chapter. In 2020, gmail had 1.8bil active users, while Outlook had 400mil users worldwide. Step 1 - Understand the Problem and Establish Design Scope C: How many users use the system? I: 1bil users C: I think following features are important - auth, send/receive email, fetch email, filter emails, search e

Chapter23 - Hotel Reservation System

Posted at # SystemDesign

Hotel Reservation System In this chapter, we're designing a hotel reservation system, similar to Marriott International. Applicable to other types of systems as well - Airbnb, flight reservation, movie ticket booking. Step 1 - Understand the Problem and Establish Design Scope Before diving into designing the system, we should ask the interviewer questions to clarify the scope: C: What is the scal

Chapter22 - Ad Click Event Aggregation

Posted at # SystemDesign

Ad Click Event Aggregation Digital advertising is a big industry with the rise of Facebook, YouTube, TikTok, etc. Hence, tracking ad click events is important. In this chapter, we explore how to design an ad click event aggregation system at Facebook/Google scale. Digital advertising has a process called real-time bidding (RTB), where digital advertising inventory is bought and sold: Speed of RTB

Chapter21 - Metrics Monitoring and Alerting System

Posted at # SystemDesign

Metrics Monitoring and Alerting System This chapter focuses on designing a highly scalable metrics monitoring and alerting system, which is critical for ensuring high availability and reliability. Step 1 - Understand the Problem and Establish Design Scope A metrics monitoring system can mean a lot of different things - eg you don't want to design a logs aggregation system, when the interviewer is

Chapter20 - Distributed Message Queue

Posted at # SystemDesign

Distributed Message Queue We'll be designing a distributed message queue in this chapter. Benefits of message queues: Decoupling - Eliminates tight coupling between components. Let them update separately. Improved scalability - Producers and consumers can be scaled independently based on traffic. Increased availability - If one part of the system goes down, other parts continue interacting with t