Uber System Design | High Level Design of Uber, Ola, Lyft, Careem | Software Architecture

Sdílet
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

Komentáře • 29

  • @SCALER
    @SCALER  Před 11 měsíci

    Take the Hunger test today: bit.ly/3qp7jaG

  • @suchitagupta7633
    @suchitagupta7633 Před 11 dny

    too good, easy explaination with no jargon

  • @InfClouds
    @InfClouds Před 6 měsíci +6

    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?

  • @realitybeckons4120
    @realitybeckons4120 Před 7 měsíci

    Thank you

  • @RS-vu5um
    @RS-vu5um Před 5 měsíci

    Excellent Tutorial. Great job by Aanshul

  • @prerakhere
    @prerakhere Před měsícem +1

    great stuff but 11:30 the payment service being eventually consistent example was really bad. it should be the opposite of what you said.

  • @sanskaragarwal582
    @sanskaragarwal582 Před 9 měsíci +1

    Excellent!

    • @SCALER
      @SCALER  Před 9 měsíci

      Happy to hear that! 🙌🏼

  • @sujeetbadnale9441
    @sujeetbadnale9441 Před 5 měsíci

    Thank you for the first class content that is too for free. God Bless the tutors and the Scaler Academy😊

    • @SCALER
      @SCALER  Před 5 měsíci

      Thanks! Keep an eye out for more such videos! 😃

  • @Hatim1252
    @Hatim1252 Před 26 dny

    which tool do you use to draw diagrams and write notes during the video recording

  • @Moinshaikh611
    @Moinshaikh611 Před měsícem

    what tech stack should we use ?
    Could you please list it here so other students can also get...

  • @codingmonkey233
    @codingmonkey233 Před 6 měsíci +2

    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?

    • @vyshnavramesh9305
      @vyshnavramesh9305 Před 6 měsíci

      - 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.

  • @himanshut114
    @himanshut114 Před 11 měsíci +1

    what is the meaning of system engineer 3

  • @adityauniyal8632
    @adityauniyal8632 Před 11 měsíci +9

    MAKE GOOGLE MAP SYSTEM DESIGN

  • @ManishSharma-f1t
    @ManishSharma-f1t Před 15 dny

    Make video on Google map design

  • @PradeepKumarIIITD
    @PradeepKumarIIITD Před 11 měsíci

    very detailed explaination...thanks for this

    • @SCALER
      @SCALER  Před 11 měsíci

      Happy to hear that! 🙌🏼

  • @prasadm3614
    @prasadm3614 Před 11 měsíci

    Loved it

  • @vikki_bhagat
    @vikki_bhagat Před 5 měsíci +1

    Make Google Map System Design explaination video 😊

    • @SCALER
      @SCALER  Před 5 měsíci

      Hi Vikki, we have duly made a note of your suggestion and it will be passed on to our relevant teams. Thank you! 😊

  • @MusikDenTV
    @MusikDenTV Před 9 měsíci +1

    Please make a system design for Google maps❤

    • @SCALER
      @SCALER  Před 9 měsíci

      Hi, we have duly made a note of your suggestion and it will be passed on to our relevant teams. Thank you! 😊

  • @tanishqmahendrasaini3764
    @tanishqmahendrasaini3764 Před 8 měsíci +1

    If possible please create SD video for google maps

    • @SCALER
      @SCALER  Před 8 měsíci +1

      Hi Tanishq, we have duly made a note of your suggestion and it will be passed on to our relevant teams. Thank you! 😊

  • @jerinjohnkachirackal
    @jerinjohnkachirackal Před 11 měsíci

    ❤❤❤❤

  • @vivekanandpandey4114
    @vivekanandpandey4114 Před 3 měsíci

    Hare Krishna Hare Krishna Krishna Krishna Hare Hare
    Hare Rama Hare Rama Rama Rama Hare Hare ❤❤
    Raadhe Raadhe ❤❤

  • @SanjeevSharma-tw5cl
    @SanjeevSharma-tw5cl Před 2 měsíci

    Excellent Tutorial. Great job by Aanshul