Uber System Design | High Level Design of Uber, Ola, Lyft, Careem | Software Architecture
Vložit
- čas přidán 26. 07. 2024
- Preparing for a System Design Interview? Here's Aanshul Sadaria (SWE III, Google) teaching you the High Level Design of Uber and other online cab booking services platform like Ola & Lyft.
Check out free masterclasses by industry-leading experts: www.scaler.com/events?...
What is high-level design?
High-level design refers to the architectural and conceptual overview of a system or software solution. It focuses on identifying major components, their interactions, and the overall structure of the system, providing a top-level understanding of how the solution will be implemented to meet the desired requirements.
What is low-level design?
Low-level design refers to the detailed design and implementation of individual components or modules within a system or software solution. It involves specifying the data structures, algorithms, interfaces, and code-level details necessary to realize the high-level design and achieve the desired functionality.
What is system design?
System design is the process of defining and developing the architecture, components, modules, interfaces, and data for a system to meet specified requirements. It involves analysing user needs and constraints to create a plan for the construction, deployment, and maintenance of the system.
Take the Hunger test today: bit.ly/3qp7jaG
Topics covered:
0:00 - Introduction to Uber System Design
1:16 - Customer User Journey's & Functional Requirements
8:12 - Non-Functional Requirements
12:40 - Estimations and Constraints
15:25 - Tech concepts behind Uber's System Design
1:02:07 - Overall System Design & Summary
1:02:21 - APIs
______________________________________________________________________________
About SCALER:
A transformative tech school, creating talent with impeccable skills. Upskill and Create Impact.
Learn more about Scaler: bit.ly/3qp7jaG
📌 Follow us on Social and be a part of an amazing tech community📌
👉 Meet like-minded coder folks on Discord - / discord
👉 Tweets you cannot afford to miss out on - / scaler_official
👉 Check out student success stories, expert opinions, and live classes on Linkedin - / scalerofficial
👉 Explore value-packed reels, carousels and get access to exclusive updates on Instagram - / scaler_official
📢 Be a part of our one of a kind telegram community: t.me/Scalercommunity
🔔 Hit that bell icon to get notified of all our new videos 🔔
If you liked this video, please don't forget to like and comment. Never miss out on our exclusive videos to help boost your coding career! Subscribe to Scaler now!
czcams.com/users/Scaler?sub_co...
#systemdesign #uber #softwareengineering #scaler
Take the Hunger test today: bit.ly/3qp7jaG
too good, easy explaination with no jargon
1. How to decide that user ID/lat/long is 8 bytes each? 38:29. user ID should be UUID which is 16 bytes.
2. Trips Service sends trip data to Payments Service. According to 1:02:07, seems you have it as normal request. Why not use Kafka, as payment doesn't need to be immediate, and allow Payments Service to process at its own pace?
3. You mentioned latest location should be stored in Redis and history in Cassandra at 40:19. Which datastore is used for the other data and why?
Thank you
Excellent Tutorial. Great job by Aanshul
great stuff but 11:30 the payment service being eventually consistent example was really bad. it should be the opposite of what you said.
Excellent!
Happy to hear that! 🙌🏼
Thank you for the first class content that is too for free. God Bless the tutors and the Scaler Academy😊
Thanks! Keep an eye out for more such videos! 😃
which tool do you use to draw diagrams and write notes during the video recording
what tech stack should we use ?
Could you please list it here so other students can also get...
How is trip entity created? The API listed in trip service does not show the creation of trip, and all api depends on trip id.
Also, how to handle the concurrency issue, where user request a car, and matched driver accept the pair, but user canceled the trip at the same time. How does the map is rendered?
Uber uses H3 geo-encoding, what's the pros and cons among geohash, s2 and h3?
What's the benefit of adopting consistent hashing in the location service, compared to a static sharding maintenance via a coordination service?
- Regarding trip entity creation, I think when the driver accepts a booking notification from cab finder service , a trip entity is created with status == CREATED. The status then changes to: STARTED upon driver receiving otp from rider, CANCELLED when rider cancels the CREATED trip, COMPLETED when destination reached.
- The concurrency issue (race condition) is a good technical problem to be solved. Not just when a rider cancels the cab finder request and driver accepts at the same time, but also when multiple drivers accept the booking notification from cab finder service together the issue could happen. A distributed lock (using Zookeeper) on cabFindRequestId or riderId (since a rider can only book a single cab) should be good.
what is the meaning of system engineer 3
MAKE GOOGLE MAP SYSTEM DESIGN
Make video on Google map design
very detailed explaination...thanks for this
Happy to hear that! 🙌🏼
Loved it
Make Google Map System Design explaination video 😊
Hi Vikki, we have duly made a note of your suggestion and it will be passed on to our relevant teams. Thank you! 😊
Please make a system design for Google maps❤
Hi, we have duly made a note of your suggestion and it will be passed on to our relevant teams. Thank you! 😊
If possible please create SD video for google maps
Hi Tanishq, we have duly made a note of your suggestion and it will be passed on to our relevant teams. Thank you! 😊
❤❤❤❤
Hare Krishna Hare Krishna Krishna Krishna Hare Hare
Hare Rama Hare Rama Rama Rama Hare Hare ❤❤
Raadhe Raadhe ❤❤
Excellent Tutorial. Great job by Aanshul