Комментарии:
The white board is often hidden by the instructor. It would be best if these were slides and the relevant portions are highlighted using markers or shading techniques. The instructor's video can be relegated to a thumbnail except at start and end. Good content but poor presentation.
Ответитьman, you are real good. seems you have worked at Uber or 1 of these cab apps, and have great understanding of when/where to use different tools/databases. thx much! But 1 point these are so detailed (including the time that would take to draw each of those layouts and bullet points), and some of these sys design interviews are only for 45 minutes (which actually may be only 35 minutes leaving the 5 minutes each for intro/outro), can't cover everything, but we can at-least layout the buffet of knowledge we have and let them pick what they would want us to go over.
ОтветитьYou are an amazing teacher. Why have you stopped making such an amazing videos . Kindly create contents of top quality. You rock
ОтветитьCab finder is doing so many things, how do we handle spike in requests for it? Do we enqueue requests and spin up more instances of services?
ОтветитьNice explanation!.. Liked it!
ОтветитьFantastic bro. Your teaching style and kind of substance you produce is awesome!
ОтветитьWhat an amazing explanation to the most complex of things. Teaching is an art, and it does get exemplified by your teaching style.
Kudos to you man
In many interview people ask algorithms in system design round. but I see your most of the design is like use kafka for self pace or decoupling, scaling. Redis for cache over mysql. It would be great if you can add algo in each explanation.
ОтветитьHow can we scale the websocket handlers, if we have lakhs of drivers live at the same time how can we handle that? We just can't add more and more websocket servers right?
ОтветитьGood One Buddy ...But Please focus the camera on the board rather than your Face. That will help
Ответитьwhy would you use mysql for user data?
Ответитьum...what happend when the driver is offline (car crash, no battery, phone break) or reject the trip, when you try to assign a trip to him, how to handle the confirmation ?
ОтветитьHi, can anyone help with this question: System design question to design a heatmap. user can input any range of times (in minutes) and I want to be able to see the density of drivers on the map color coded You don't have to worry about the actual color coding part (assume you have some UI that will take in the count input and do the coloring for you).
Ответитьthnx for this video
ОтветитьGreat video! Very cohesive and in-depth. Thanks.
ОтветитьI think the complexity of maintaining redis to map driver id - handler and the reverse mapping also can be avoided.
If we load balance the request from driver based on driver id hash, the request will go to the corresponding socket handler, and when the response comes back say driver gets a ride booked, the driver object will have the id from which corresponding handler can be found. Thereby eliminating the need to store mapping.
Thanks Sandeep ... Such a great video. just one thing so customer also connects with Map service to find out its location + the A(pickup) and B(drop point) point
ОтветитьSeen a lot of videos of Uber design. GeeksForGeeks says its a 'Hard' problem. After watching your video, its not that hard it seems. Easily navigable.
ОтветитьVery good explanation...all scenarios covered.
ОтветитьThis video is very good. The best thing is that you have provided summary also with clear diagram.
Thank You very much.
Can instead of segmentation by road distance. we take time
ОтветитьGreat video! Watched 3 other videos and this one is the best by far. One thing though is you never mentioned what Location Service will write to Kafka. Can you please clarify this?
ОтветитьHey Sandeep, Great content. Just few doubts :
How do we divide the area into segments as you mentioned?
Why we have different driver service, we could just include one field as role ( user/driver) and utilize same service only?
Thanks for the great video! I think the WebSocket Server stuff adds a bit unnecessary complexity. This way the web server is no longer stateless. Why cannot we store the trip-driver matching information in database, so every time drivers send location data the web server query the db to find assigned trip and return to driver if exists?
ОтветитьSpeed up the video to 1.5 and thank me later :+1
ОтветитьU a System Design God
ОтветитьIt's like sectors of telecom towers 😀 and do visitor stuff , local to the area...only correct usecase of Cassandra is trip history...can we use weighted graphs to calculate minimum distance? shouldn't we draw circles rather than segment because it will be equidistant and all cabs with in that radius can be then selected based on requirement
ОтветитьBrilliant
ОтветитьCan I specify that the system should be Real Time?
ОтветитьVery confused between roles of Location service and Map service. Who takes lat long and returns segment id ? Who identifies the list of drivers based on segment?
ОтветитьGood Content.
ОтветитьAll your videos are very good. They are good to think about various requirements, splitting a given problem into multiple services and so on. But I think you haven't been talking about the data model, how it can be represented in a NoSql vs RDBMS vs graph database, and so on. Many interviewers expect that discussions, if not all. Hope you can do that in your future videos. Thanks!
Ответитьmake one for coding platform like leetcode
ОтветитьI watched a couple of videos on Uber system design and wasn't satisfied and luckily ended up here. Very good explanation focusing on key components. Thanks bro !
ОтветитьIt would have been great if you had covered how the request for cab is fanned out to multiple drivers and once any one driver accepts the trip, how the request is dropped from all the other drivers. overall content is very good and helpful. Very good effort.
Ответитьwould it not be easier to put driver locations in a kafka first and then have multiple consumers reading for location service? This way the load will be fairly balanced.
ОтветитьHow the ride sharing will be implemented? Say, user is trying to book a seat in a shared cab.
ОтветитьBro you are fantastic. So today I had an interview with MSCI (Morgan Stanley) and they asked me about designing around Ola, where they wanted me to show the cabs around a user as soon as he logins to the app. I remembered this video of yours and explained how things work and how the mapping service would divide the city into grids and fetch the information. The interviewer was satisfied and I feel I have cracked the round. All thanks to you \m/
ОтветитьDid system like Uber/Ola really uses Redis for storing location -- driver mapping ?
ОтветитьHi,
In the video, you said we will keep the driver location in NoSQL DB, what would be the sharding key for cabs location data? To fetch fast their current location. The driver will be continuously moving after every 4-sec new location feed will come and the old location feed will be stale data.
Please help.
If Uber stores driver data for every 5 seconds, the data stored is insanely huge. Data stored per day would be 30 bytes * (86400/5) * 1M Drivers. Around 500 GB per day. Around 300 TB per year just for storing driver location
ОтветитьHi, thanks for the content on this channel! Had one question though.. in the customer flow, we will need a load balancer that makes a web socket connection to the cab request service right? Since there can be multiple customer requests at the same time?
ОтветитьWould using a quadtree be a quicker way of determining cabs in the same segment as the rider trying to hail a cab ?
ОтветитьVery nice work 👍
Ответить"Segment" is essentially a quad tree.
ОтветитьVery easy to understand & amazing!!
ОтветитьCan I know how some founders of the app did this complex thing by themselves ?
Ответитьminute correction. it's (1,0) on x-axis and (0,1) on y-axis
Ответить