데브허브 | DEVHUB | Design a Hotel Booking System Like a Senior EngineerDesign a Hotel Booking System Like a Senior Engineer
Become a Senior Software Engineer - https://tinyurl.com/86e7casf
This video is a deep dive into designing a highly scalable hotel reservation system, focusing on solving critical senior-level engineering challenges like concurrency, data consistency and preventing double bookings.
🔖 Sections
00:00 - Introduction
01:17 - The 4-Step Design Framework
02:04 - Step 1: Clarifying Questions & Functional Requirements
03:39 - Dynamic Pricing & Demand Factors
04:44 - Core Search & Discovery Functionalities
06:13 - Non-Functional Requirements: Consistency & Latency
07:27 - Data Estimation: QPS and TPS
08:43 - Real-world Traffic Funnel Analysis (Booking.com Scale)
13:03 - Step 2: High-Level System Architecture
15:50 - Scaling Search with Elasticsearch
18:41 - Monolith vs. Microservices
20:11 - API Design & Restful Endpoints
25:35 - Preventing Double Bookings
30:37 - Deep Dive into Search Service Logic
31:44 - Database Design & Schema Architecture
35:22 - Managing Room Inventory & Availability
38:50 - Logic for Checking Availability & Overbooking
40:57 - Why SQL?
42:15 - Handling Concurrency & Race Conditions
43:50 - Final Summary & Scaling Challenges