Airbnb System Design | Booking.com System Design | System Design Interview Question

preview_player
Показать описание
Solution for System Design Interview Question - "Design a Hotel Booking System like Airbnb"

This is being asked by a lot of companies lately like Google, Twitter, Uber, LinkedIn, Visa, etc.

Prerequisites:

If you like this video, please help us grow by sharing this video with your friends on Facebook, connections on LinkedIn and anyone who can benefit from this.

PS: This is not the real architecture of any such platform. This is my take on how I would answer that problem.

#codekarle #systemdesign #airbnbsystemdesign #system #design #interview #amazon #faang #airbnb
Рекомендации по теме
Комментарии
Автор

Very nice work brother..it helped us in building our system :) gratitude

rohitkhurana
Автор

Wathcing in 2024, great video brother, clear high level design and dive into details of the specific parts. Very valuable and informative.

armengrigoryan
Автор

Great videos on system design Sandeep. Thanks!
I have one concern about the Airbnb design. You have used Kafka for multiple things and few of them don't really require or would be actually a not-so-good design.
1. Hotel onboarding: This hotel onboarding wouldn't really require an async service as I don't see this system as write-intensive. A simple sync REST API should work.
2. Booking of a room: The booking of the room by a user & removing the room from the available list should be consistent. I think here also Kafka's use should be avoided.

In both cases, immediate reflection to the other users should be handled by a write-through cache policy. Let me know your thoughts. Thank you!

aniruddhkhera
Автор

One of the most complete and perfect system designs tutorial I have seen. The breadth and detail is perfect as an HLD.

abhishekkumarmishra
Автор

Whenever I see your videos, it feels like I'm sitting in ofc design review meeting with a senior engineer as you don't throw fancy words, really appreciate your content _/\_

rishabhgoel
Автор

I really like your unassuming way of explaining the essence of your topic. The only suggestion I make is that make it a little more relaxed and casual. I would like to see the tension fade away.

VindyDays
Автор

One of the best system design videos I have ever seen. Hats off to you and the mechanism you told for handling the case of reserving hotel bookings

saurabhchoudhary
Автор

This channel should have millions of subscribers.. you are highly under rated. Keep doing the good work

aakashchandwani
Автор

Really great video : Have some doubts below
- So how are we storing available table. Are we going to store for 365 for each hotel . That will be inefficient.
- Which service will pull data from hadoop cluster? once the analysis done from hadoop cluster aren't we storing it in Analytic DB?
- Should not we store images first to s3/gcs then later cdn?

cbest
Автор

Your videos are by far the best system design resources I have found on this platform. Thank you for these valuable materials!

mostaza
Автор

Definitely the best system design video I have seen! very detailed explanation of each part

zheli
Автор

A wonderful playlist to binge watch :D More power to you Sandeep :)

deathstrokebrucewayne
Автор

Superb Sandeep. I am looking for Coupon management system design. its commonly asked across companies. On internet, there is not a single design for this.

kanaiyapatel
Автор

Very well explained.

Just one point of discussion here from my end:

Can we create some inventory-service and keep availability there instead of booking-service, this will help in well defined boundaries and responsibilities.

Booking service should just keep the booking information and when booking is done, it can update the availability in one single distributed transaction.

Let me know if there are any challenges/problems in the above said approach.

mayanksood
Автор

Great video. One thing i that i found missing in this design is :
When admin of hotel adds new rooms -> there is no flows that updates rooms availability in DB of booking service
Please let me know if i i'm missing anything on this

balasravandindukurthi
Автор

@CodeKarlw I like this design, BUT:
- Using a RDBMS for performing the booking lock may not be appreciated by all interviewers: I proposed a very similar architecture in a sr backend engineer interview @ Uber and I've been rejected with the motivation "He used a RDBMS for performing the reservation lock". It would be interesting seeing an alternate implementation. (Redis lock?)
- The service crash scenario is completely absent in the design, specifically a crash of the booking service after a payment has been successfully performed but before the booking status update
- How do you maintain the datacenter database aligned? Shared kafka topic consumed by an align service?

Thank you for your work anyway!

akarkessel
Автор

thanks for the video!

we should also talk about how we use semaphores when we access shared resources in a microservice setup.

archit_singh
Автор

Great video. I have one question though. How are you generating/updating the available_rooms table? Where's that data coming from to begin with? Thanks!

shinysingh
Автор

Thanks brother .. it really helped.. especially hatsoff for explaining each of the implementation, requirement, user case etc...
Please make next videos more lengthy so that beginners can understand more details.

bibinvninan
Автор

Very nice video. very thorough and provided all the necessary information in very easy to understand way. great work.

hardikshah