SPORTS score update system design | CRICBUZZ System design

Learn how to build sports score systems
Here is the system design diagram for cricinfo: imgur.com/a/VbLE7vE
Donate/Patreon: / techdummies

Пікірлер: 74

  • @saurabhmaurya94
    @saurabhmaurya944 жыл бұрын

    I've looked through various resources for system design and this is the first time I've heard of request collapsing. Really appreciate the unique content on your channel. It's nice to see deep dives of actual system architectures instead of bottom up conceptual simplified architectures for these problems. In a similar vein, I really enjoyed your Netflix video too. Thanks for all the great content!

  • @JitendraSarswat

    @JitendraSarswat

    4 жыл бұрын

    Yes, that's actually a great concept. We use hystrix for the same purpose. Hystrix is generally use to make microservices fault tolerant. But request collapsing is another use case for the same, if your architecture happen to use Java along with Spring framework, you can use the mentioned tool to implement the same.

  • @SubhramRana

    @SubhramRana

    Жыл бұрын

    This is very similar to "thundering herd" problem, see the video "how facebook scales memcache"... This problem is solved uaing "leasing" technique

  • @harishaseri
    @harishaseri4 жыл бұрын

    You really have my respect Naren . Thanks a lot for sharing your knowledge with us in such a beautiful way .

  • @DarKCremeTai
    @DarKCremeTai5 жыл бұрын

    Very nice. It's great to see so many new concepts which I had no clue about earlier. Thanks a lot man

  • @kaushalshah2921
    @kaushalshah29212 жыл бұрын

    I think keeping a scheduler which keeps polling on product APIs might increase load on product API and core API servers because it polls 2-3 times a second and there can be multiple sports events running at the same time and at this scale, only a single scheduler won't work, we need to keep multiple such schedulers, which will further increase load. Also, 2-3 times a sec. might not be that real time but that depends on the data it is polling for. What we can do is, we can publish the score updates to a queue like RabbitMQ and have a separate service which consumes this queue (basically pub-sub model) and writes it to database and we keep another service just for real time score updates, which also subscribes this queue and handle client connections for realtime score updates. It'll just listen to the queue and fanout the score updates in realtime over web sockets. We can also scale this by keeping multiple such services to handle huge number of clients.

  • @reallifegambits
    @reallifegambits5 жыл бұрын

    Really would like to see design pattern for: 1. App store/ Google play 2. Elevator system 3. Chess

  • @beltek01
    @beltek012 жыл бұрын

    Just awesome...one of the best system design concepts I have come across

  • @renon3359
    @renon33593 жыл бұрын

    Awesome video did not know about 3 tier caching and varnish. Thank you for making these videos.

  • @sandeep9606
    @sandeep96065 жыл бұрын

    Great and Thanks a lot . One of the best channel to learn design related problems.

  • @ManpreetSingh-qp2rr
    @ManpreetSingh-qp2rr5 жыл бұрын

    Very good explanation of CricBuzz system design

  • @Mahesh-js6hp
    @Mahesh-js6hp5 жыл бұрын

    Keep up the good work, Narendra!

  • @vijitail1979
    @vijitail19795 жыл бұрын

    Thank you for sharing the information .. really appreciate your work

  • @CodingWorldWithNinja
    @CodingWorldWithNinja5 жыл бұрын

    Its really great initiative dude nice explainations

  • @arielschwartz
    @arielschwartz2 жыл бұрын

    This is pure gold. Thank you!

  • @aeb242
    @aeb2429 ай бұрын

    Thank you so much for your videos! Very helpful.

  • @atanusikder4217
    @atanusikder42174 жыл бұрын

    Great video . It gives an idea how several open source libraries can be leveraged . It clears lot of doubts also . Request you to create a video for stock trading system. It should include dynamic price update of shares & support rollback .

  • @deeps1410
    @deeps14105 жыл бұрын

    This video is awesome for System design which covers a lot of concepts. Thanks a lot Naren for educating people free of cost despite your busy days due to office works. Can I request you to make videos on following:- 1) How does Google search engine works(so much, so quick) 2) System design of any E-com websites like Amazon, Flipkart 3) System design of IRCTC or any booking website 4) Whatsapp System design

  • @TechDummiesNarendraL

    @TechDummiesNarendraL

    5 жыл бұрын

    Whatsapp system design video already available, i will consider the rest. Thanks

  • @amithbk12man
    @amithbk12man5 жыл бұрын

    This is really helpful. Thanks.

  • @pranaypatadiya
    @pranaypatadiya4 жыл бұрын

    Its really great to see your video and understanding the logical thinking behind while system designing. A genuine request if you can share multimodal travel or air ticket booking something related system design would be really great. Thank you in advance.

  • @WOOOWOOO2326
    @WOOOWOOO23265 жыл бұрын

    Too many features to talk in a single video. Ideally the live score update could have been an interesting feature and a deep dive into that would have been great.

  • @rishabh2055
    @rishabh20552 жыл бұрын

    Why use Queues to store notifications, I guess storage is only required when user is offline, in case of online, there will be regular updates through websocket, so no need for queue storage, will it not be a bad User Experience to send multiple notifications, instead we should try sending the latest notification when the user comes back online.

  • @anupmehta9504
    @anupmehta95042 жыл бұрын

    Hi Narendra, a quick question, how do cricbuzz create queues dynamically( per match) and also why use redis queues compared to activemq / rabbitmq etc . I have heard of temprorary queues in activemq ,is this something that we can use here.

  • @tusharkumarthumar5950
    @tusharkumarthumar59505 жыл бұрын

    Thanks! This is really helpful. How do you get the information?

  • @geetikaarora8146
    @geetikaarora81464 жыл бұрын

    Is the mixer/binder a good use case for graphQL? The resolvers can decide which micro-service needs to be called.

  • @sureshchaudhari4465
    @sureshchaudhari44653 жыл бұрын

    This guy is celebrity in system design

  • @utsavmangla8552
    @utsavmangla85524 жыл бұрын

    Please increase the volume please. Great video btw!

  • @yikan1107
    @yikan11075 жыл бұрын

    How do you cache using the product api? I know about memcache/redis. To a certain extent, batch requesting. Do you mean caching using nginx?

  • @AmarSingh-ii5tu
    @AmarSingh-ii5tu5 жыл бұрын

    I don't understand why so much product description rather than covering core feature i.e. how to display scoreboard, which is a main problem. I don't think anyone going to ask how cricinfo make its microservice architecture fault tolerant and how the use hystrix. I request you to keep focus on core feature of any system.

  • @nitinkulkarni7942

    @nitinkulkarni7942

    4 жыл бұрын

    I agree, This is a very rare video from Tech Dummies which is disappointing

  • @sushmitagoswami7320
    @sushmitagoswami73202 жыл бұрын

    Thank you for the video!

  • @niteshgupta212
    @niteshgupta2124 жыл бұрын

    In many Amazon interviews, they usually ask Command execution framework design and play store design. Can i have material for that?

  • @oshinagarwal8148
    @oshinagarwal81484 жыл бұрын

    Is the delta in fast cast calculating the diff for each user?

  • @skyFullOfStars
    @skyFullOfStars10 ай бұрын

    At 21:33 , Varnish cache was so nicely used. Also, is cache TTL set to 1s coz there would be mostly queries for real time data and stale data (data of more than a second ago) is rarely queried for? As usual, amazing content , Loved every bit of it❤

  • @pranavbhat29
    @pranavbhat292 жыл бұрын

    Great content from Naren as always. Thank you for this. Here are a few questions I had. 1. 9:48 - There are public product APIs which are mostly JSON based for input and internally calling Core APIs through mixers/binders. Can GraphQL be an example of the same. 2. 17:06 - Varnish is used between the Product APIs and the Core APIs to allow for request collapsing to avoid stampede effect. 25:15 you have Hysterix also doing something similar ( in addition to circuit breaking to 500 and default response sending which might also be needed for the core APIs ), so why was Hysterix itself not used for the Core APIs as well instead of varnish? 3. 17:04 - How do we decide when to put data into L2 cache which is distributed? Also since we are using Redis as a queue, can we also use Redis as a distributed in memory cache. Are we putting stuff to the distributed cache when we are evicting it from the local product cache? 4. 30:32 - A scheduler is used basically to ensure that internally we are using the same pull APIs itself right? Instead can we have an architecture, where the write APIs ( which happen when the commentrator and the score board are doing ) add it to the scheduler which is a queue. I see that would lead to a lot of logic repetition but would reduce the load on the product APIs right? Again this is based on the load distribution between push and pull clients. Also instead of Delta, can we have the scheduler use the E-Tag and the If-Modified-Since/If-None-Match params there to ensure that it is putting something to the queue only when there is a modification? 2 and 3 come from a POV of reducing the number of different tech stacks :)

  • @MSS-hf8xj
    @MSS-hf8xj5 жыл бұрын

    Ur are doing great job keep it up... And can u explain db design for circbuzz i was asked this question in one of d start-up. Thanks in advance

  • @raisshaikh2105
    @raisshaikh21055 жыл бұрын

    Another Awsome video by Tech Dummies!!! Can you suggest some book or web resources which I can refer for architecture and design stuff?

  • @TechDummiesNarendraL

    @TechDummiesNarendraL

    5 жыл бұрын

    Thanks @Rais More than any book try to follow tech blogs of famous tech giants eg: code.fb.com/ medium.com/airbnb-engineering blog.twitter.com/engineering/en_us.html developers.googleblog.com/ highscalability.com/ eng.uber.com yahooeng.tumblr.com/

  • @jojoalisep
    @jojoalisep5 жыл бұрын

    Thank you Bro great video.. Request you to make some video on Payment system.

  • @dheerendra5
    @dheerendra55 жыл бұрын

    There is a little typo *design (both the places), btw great video.

  • @raveendrajonna4756
    @raveendrajonna47565 жыл бұрын

    Please make a video on Online chess game design

  • @sanocycles6642
    @sanocycles66422 жыл бұрын

    Your voice like Harsha Bhogle ❤️

  • @mrmarkgray
    @mrmarkgray2 жыл бұрын

    For the notifications use case, you may have 100s of millions of clients waiting for notifications for a big match. How would you efficiently maintain that many web sockets? Are there any considerations?

  • @GoldenSach
    @GoldenSach Жыл бұрын

    this is great!!

  • @ariellyrycs
    @ariellyrycs4 жыл бұрын

    I want to remove that string is hanging from his cap. this information is pretty useful, thank you

  • @utsavchanda794
    @utsavchanda7945 жыл бұрын

    Please make a video on Log Monitoring System

  • @jkulkarn100
    @jkulkarn1004 жыл бұрын

    Hysterix - Circuit Breaker needs to be explained in better way - it isolates nonresponding microservices , tries to return default response or replaces those non working microservices with default one to avoid cascading effect .

  • @arunavamukherjee2087
    @arunavamukherjee20873 жыл бұрын

    your videos are really very good , Ihave learned a lot. Can you please add a video for system design for Gaana/spotify/music streaming apps?

  • @puravshah2342
    @puravshah23425 жыл бұрын

    Hi Narendra, can you please share all your tech specific bookmarks

  • @andresantos-yx3bh
    @andresantos-yx3bh Жыл бұрын

    should we only save the most frequent request on cache? any algorithms for identifying such resources?

  • @juggernaut420

    @juggernaut420

    Жыл бұрын

    LRU?

  • @SauravDaruka
    @SauravDaruka5 жыл бұрын

    Hey Naren, Thank you so much for creating awesome contents on system design. I have a request, can you please create system design videos on: * Zomato * KZread * Amazon * Tinder Thank you

  • @TechDummiesNarendraL

    @TechDummiesNarendraL

    5 жыл бұрын

    Hi @Saurav sure, this actually helps. Thanks

  • @MukeshSahu-mn2ps
    @MukeshSahu-mn2ps5 жыл бұрын

    How do you know all these system design?

  • @supportsmp4760
    @supportsmp47605 жыл бұрын

    Hi, You are video are great. If possible, can you add systemdesign for TradingView

  • @viralgupta5630
    @viralgupta56303 жыл бұрын

    Is varnish a standard term

  • @R99999S
    @R99999S4 жыл бұрын

    Why you have used NoSql DB?

  • @parbhakarheman
    @parbhakarheman5 жыл бұрын

    Please make a video on how hotstar managers to show stream to 20M users

  • @soumya7430
    @soumya74302 жыл бұрын

    wanted to understand the rationale behind the choice of db , the schema we want to use in DB , sharding strategy , queue which has topics about ongoing matches ..saw something about product apis core api's..totally out of context

  • @rajeshd7389
    @rajeshd73893 жыл бұрын

    Thanks a lot Naren for your efforts in making us understand system design concepts Can we have video on below topic (it is trending these days due to IPL 2020). 1.) Design Dream 11 (Fantasy League, Leaderboards etc.,)

  • @sumonmal009
    @sumonmal0093 жыл бұрын

    THIS COMMENT IS FOR MY PERSONAL REFERENCE. TO UNDERSTAND PROPERLY WATCH THE FULL VIDEO -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- push vs pull 2:13 get initial score into system 3:35 nature of the system 7:41 HLD 8:09 API strategy 8:15 9:13 9:41 11:00 partial failure handle 14:22 caching 16:01 why local cache 17:00 stamped effect 19:01 circuit breaker 23:07 API monitoring 27:50 Broadcast fast cast 30:01

  • @kai13man
    @kai13man5 жыл бұрын

    can you do a system design for paypal?

  • @TechDummiesNarendraL

    @TechDummiesNarendraL

    5 жыл бұрын

    Sure

  • @TechDummiesNarendraL

    @TechDummiesNarendraL

    5 жыл бұрын

    @kai13man Sure

  • @arjunanselvam
    @arjunanselvam5 жыл бұрын

    Can you tell system design for Netflix???

  • @TechDummiesNarendraL

    @TechDummiesNarendraL

    5 жыл бұрын

    It's already available at my channel, do subscribe

  • @arjunanselvam

    @arjunanselvam

    5 жыл бұрын

    @@TechDummiesNarendraL Thanks Bro. Awesome work. Keep posting :)

  • @anandbharti7735
    @anandbharti77352 жыл бұрын

    bhai. Respect _/\_

  • @spicemasterii6775
    @spicemasterii67752 жыл бұрын

    Lol. The 29% traffic from US must be all Indians.

  • @pradeepkaravadi5360
    @pradeepkaravadi53605 жыл бұрын

    please make video on red bus and vlc media player

  • @devsmitaverma8919
    @devsmitaverma89192 жыл бұрын

    CMS

  • @noobdev4181
    @noobdev4181 Жыл бұрын

    Just subscribed. Great content. Thank you. ✌💹💯

Келесі