How Facebook Scaled a Distributed Priority Queue

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ธ.ค. 2024

ความคิดเห็น • 117

  • @NeetCodeIO
    @NeetCodeIO  10 หลายเดือนก่อน +311

    I know usually the more technical a video is, the less views it will get, but I prefer making these sort of videos so please let me know if you'd like to see more.
    This is the beginning of my System Design Playlist LETS GO: th-cam.com/video/i53Gi_K3o7I/w-d-xo.html

    • @dera_ng
      @dera_ng 10 หลายเดือนก่อน +12

      Absolutely ❤ these videos!!!!

    • @akashsonowal
      @akashsonowal 10 หลายเดือนก่อน +8

      Large scale systems are very interesting as they are challenging and one needs to get very creative. Please continue making similar contents.

    • @KaranBulani
      @KaranBulani 10 หลายเดือนก่อน +3

      Add it to the main account

    • @Taha-fw7ey
      @Taha-fw7ey 10 หลายเดือนก่อน +2

      Love it❤

    • @angelosguan6782
      @angelosguan6782 10 หลายเดือนก่อน +2

      please make more they are really helpful

  • @Kaviarasu_NS
    @Kaviarasu_NS 10 หลายเดือนก่อน +62

    We need more of neetcode content like this ❤

  • @Dominik-K
    @Dominik-K 10 หลายเดือนก่อน +14

    I love deep technical talks, so this is highly appreciated ❤
    Id even love to hear more about your thoughts and alternative approaches to this architecture

  • @byte_easel
    @byte_easel 10 หลายเดือนก่อน +1

    Please make more system design videos like these if you can. They're really appreciated and your experience/insight makes them more valuable

  • @krateskim4169
    @krateskim4169 10 หลายเดือนก่อน +10

    Got to say neato, it was a super informative video, hoping for more future videos like this. Appreciate your grind

  • @yassine-sa
    @yassine-sa 10 หลายเดือนก่อน +2

    These kind of architectures are the most thing I like about the web. I've seen you talking about how working as a JS dev can get pretty tedious especially when having to solve nasty bugs; I think this side of the equation is the bright one, I don't think you can( although you technically can) make such a system in C, it will just be too much, the right way to go about it is to use existing libraries that already implement chunks of your system and then put them all together, I may be wrong though about how feasible would doing it in C be, but it's definitely easier this way.

  • @siddair
    @siddair 2 หลายเดือนก่อน

    Great topic and thanks for covering it in detail!! Please consider covering more of such topics from Company engineering blogs.

  • @hellowill
    @hellowill 10 หลายเดือนก่อน +1

    This type of thing is why I did software engineering. Not leetcode which is based on first year dsa.

  • @Anonymous_0range
    @Anonymous_0range 10 หลายเดือนก่อน +1

    I really enjoyed this video style! Thanks, really enjoying watching your channel evolve.

  • @ogpurpledaddy
    @ogpurpledaddy 10 หลายเดือนก่อน +1

    This is great supplemental material to learn about while I'm in my data structures and algorithms class. And I can actually follow along!

  • @aribasiebel
    @aribasiebel 10 หลายเดือนก่อน +1

    Yes please do. Appreciate you not chasing views. Some of us will find them valuable.

  • @jpo9426
    @jpo9426 10 หลายเดือนก่อน +2

    I love this style content and ones where you talk about your past work, please make more of these style videos!

  • @loic-lescoat
    @loic-lescoat 10 หลายเดือนก่อน +1

    This is great, your insight and commentary is helpful. Please comment on more system design blog posts!

  • @igorcastilhos
    @igorcastilhos 10 หลายเดือนก่อน +3

    Sorry if I sound dumb, but what is a good explanation of a “buffer”? A place in memory that stores temporary data? I understood all the rest of the video but I sometimes don’t get some of the terms 😅

    • @gokukakarot6323
      @gokukakarot6323 3 หลายเดือนก่อน

      It could be redis, but I would imagine it would be something durable, before saving to database, so if it’s not durable, then messages will again be lost. Although one could use replication, but idk it would increase the complexity.

  • @chillsjiujitsu
    @chillsjiujitsu 10 หลายเดือนก่อน +3

    Really enjoy this technical content

  • @saadahmed688
    @saadahmed688 10 หลายเดือนก่อน +1

    Great video Navdeep, please make more content like this. Leetcode is fun but systems design is even better

  • @puneetkumarsingh1484
    @puneetkumarsingh1484 10 หลายเดือนก่อน +1

    We need more of this stuff😊

  • @noyalcheriyan4841
    @noyalcheriyan4841 10 หลายเดือนก่อน +1

    we need more of these types of videos!

  • @Kennstduwayne1001
    @Kennstduwayne1001 10 หลายเดือนก่อน

    Hoooly, please do more of these. Really like your insights!

  • @Vancha112
    @Vancha112 10 หลายเดือนก่อน +1

    That's really interesting. In the simple case of javascript In this example, what if the task earlier in the queue takes 10 seconds and the next one in line takes only 1?

  • @Gabriel-ms6qw
    @Gabriel-ms6qw 10 หลายเดือนก่อน +1

    Your best video yet, please do more videos about distributed systems

  • @cyclingcomputer
    @cyclingcomputer 10 หลายเดือนก่อน +1

    Very good! It is like a song to my ears!

  • @fortbragg86
    @fortbragg86 10 หลายเดือนก่อน

    This was great. Would love to see more

  • @sukapow
    @sukapow 10 หลายเดือนก่อน

    Bro is better than most cs professors in schools

  • @strilchuk
    @strilchuk 9 หลายเดือนก่อน

    1:50 Javascript doesn't really have callback queue. As well as event loop it is provided by the environment, e.g. browser or node js, which work differently.

  • @ChaguiOGC
    @ChaguiOGC 4 หลายเดือนก่อน +1

    12:18 could you please post the link to that video?

  • @ObaidKnight
    @ObaidKnight 10 หลายเดือนก่อน

    Love this type of content, can you keep doing stuff like this, thank you

  • @brianboylen9111
    @brianboylen9111 10 หลายเดือนก่อน

    Would love more videos like this!

  • @kamma9264
    @kamma9264 10 หลายเดือนก่อน

    Message Queues were created because you couldn't auto-scale a service (such as IBM MQ) and needed a more reliable method of transaction processing on limited hardware. A lot of financial transactions still happen on IBM mainframes even today.
    I still haven't heard of a justification of why they're still being used in 2024.

  • @henri-f9e
    @henri-f9e 10 หลายเดือนก่อน +1

    I love this type of content but you should post this on your main channel so more can be exposed to this great work. You would for sure see more positive feedback

  • @enmanuelcruzdejesus765
    @enmanuelcruzdejesus765 10 หลายเดือนก่อน +1

    please keep doing this type of videos

  • @gokukakarot6323
    @gokukakarot6323 3 หลายเดือนก่อน

    Hi @NeetCode , I read the article and the video, but one thing I am struggling to understand is why not Kafka. Is it because of ordering and priority? Why not something like a redis top-k like approach! Or global ordering or single leader replication is costly operation?

  • @TheRaizerx
    @TheRaizerx 10 หลายเดือนก่อน

    Very cool. More of these please

  • @karthikeyank2587
    @karthikeyank2587 10 หลายเดือนก่อน +1

    Make more system design content,that will help a lot

  • @gauravsomani5239
    @gauravsomani5239 10 หลายเดือนก่อน

    Need more content like this along with leetcode

  • @himalczyk258
    @himalczyk258 10 หลายเดือนก่อน

    Deep is the way to uplevel, liked it, lets get more! Views are fine I'd say though 😅

  • @DankMurphy
    @DankMurphy 10 หลายเดือนก่อน

    great content mate, more of this

  • @ReactionaryTV235
    @ReactionaryTV235 10 หลายเดือนก่อน

    Love these videos need More

  • @7obudantkale477
    @7obudantkale477 10 หลายเดือนก่อน

    Dude where do you collect all this information from?
    This is great

  • @thefireagen
    @thefireagen 10 หลายเดือนก่อน

    Liked for more people to learn this sort learnings

  • @Ayman_youtube
    @Ayman_youtube 6 หลายเดือนก่อน

    Plz make more videos like this

  • @cosmicgirl910
    @cosmicgirl910 10 หลายเดือนก่อน

    I love this. Please do more

  • @johanngambolputty5351
    @johanngambolputty5351 10 หลายเดือนก่อน

    The "how" actually starts at around 13:00

  • @XEQUTE
    @XEQUTE 10 หลายเดือนก่อน +2

    "well lets use my favorite language , javascript"

  • @aakarshan4644
    @aakarshan4644 10 หลายเดือนก่อน

    please do a one on db internals!

  • @CS_n00b
    @CS_n00b 10 หลายเดือนก่อน

    Make whatever you enjoy making navdeep

  • @AgungPratama
    @AgungPratama 10 หลายเดือนก่อน

    Can you share what device you're using to hand write/draw on the canvas application? I think that's really helpful when doing online interview on system design.

  • @justinpardo-mw8wy
    @justinpardo-mw8wy 10 หลายเดือนก่อน +1

    what camera do you use

    • @NeetCodeIO
      @NeetCodeIO  10 หลายเดือนก่อน +4

      A pretty basic logitech webcam

  • @sumitsharma6738
    @sumitsharma6738 10 หลายเดือนก่อน

    is this part of your streaming videos??

  • @VidyaBhandary
    @VidyaBhandary 10 หลายเดือนก่อน

    Definitely more.

  • @imoudu
    @imoudu 7 หลายเดือนก่อน

    Can you do more system design videos

  • @vldthdrgn
    @vldthdrgn 10 หลายเดือนก่อน

    More of this! 100%

  • @rbhagat518
    @rbhagat518 10 หลายเดือนก่อน

    Are message queues just load balancers conceptually?

    • @NeetCodeIO
      @NeetCodeIO  10 หลายเดือนก่อน +2

      I guess now that you mention it, there's a bit of overlap since messages can be balanced among consumers when using a message queue.
      But their purposes are very different, load balancers are not really used for async processing. By the time you receive a response from a LB usually the app server has processed the request.

    • @wennwenn1422
      @wennwenn1422 9 หลายเดือนก่อน

      @@NeetCodeIO What's the purpose of using custom queue rather than RabbitMQ? what's different?

  • @cheezdog1343
    @cheezdog1343 10 หลายเดือนก่อน

    This was fire

  • @ajohny8954
    @ajohny8954 10 หลายเดือนก่อน

    Yes!

  • @guap5539
    @guap5539 10 หลายเดือนก่อน

    post more videos like this please

  • @alabidavid4674
    @alabidavid4674 10 หลายเดือนก่อน

    Why not use Kafka?

    • @wennwenn1422
      @wennwenn1422 9 หลายเดือนก่อน

      Kafka is overkill. Question should be why not just use RabbitMQ?

    • @alabidavid4674
      @alabidavid4674 9 หลายเดือนก่อน

      @@wennwenn1422 I agree.

  • @1234fewgfwe
    @1234fewgfwe 10 หลายเดือนก่อน

    Idk why Facebook is trying to do here 😅 basically a rabbitmq clone 😂
    Also, they need to do a comparison benchmark with Kafka performance, throughput, latency and etc. I mean, this tool for internal usage in Facebook is fine. We have way too many technologies for these stuff already

  • @gokukakarot6323
    @gokukakarot6323 4 หลายเดือนก่อน

    Noooice

  • @jembre1273
    @jembre1273 10 หลายเดือนก่อน

    Is your favorite language really javascript or were you joking?

  • @deathbombs
    @deathbombs 10 หลายเดือนก่อน

    Not enough diagrams, hard to follow

  • @KandiFlixTV
    @KandiFlixTV 10 หลายเดือนก่อน

    👍

  • @kiuki42
    @kiuki42 10 หลายเดือนก่อน

    Isn't this just kafka with extra steps?

    • @NeetCodeIO
      @NeetCodeIO  10 หลายเดือนก่อน +1

      It's probably worse than kakfa tbh, in that it has more limitations.
      I'm guessing they built this before kafka was around.

    • @kiuki42
      @kiuki42 10 หลายเดือนก่อน

      @NeetCodeIO that makes sense, thank you for sharing!

  • @swaggitypigfig8413
    @swaggitypigfig8413 10 หลายเดือนก่อน +1

    What is that facial expression of horror? 😅

  • @tompeter404
    @tompeter404 10 หลายเดือนก่อน

    Great Topic, if you could explain like this guy th-cam.com/users/systemdesigninterview does (less text and more pictures), then that would be easy to understand

  • @harrabiyosri1785
    @harrabiyosri1785 10 หลายเดือนก่อน

    first

    • @sul9343
      @sul9343 10 หลายเดือนก่อน

      congrats

  • @Amin-wd4du
    @Amin-wd4du 2 หลายเดือนก่อน

    wast of time

    • @NeetCodeIO
      @NeetCodeIO  2 หลายเดือนก่อน

      any feedback?