Scaling Push Messaging for Millions of Devices @Netflix

Ғылым және технология

InfoQ Dev Summit Boston, a two-day conference of actionable advice from senior software developers hosted by InfoQ, will take place on June 24-25, 2024 Boston, Massachusetts.
Deep-dive into 20+ talks from senior software developers over 2 days with parallel breakout sessions. Clarify your immediate dev priorities and get practical advice to make development decisions easier and less risky.
Register now: bit.ly/47tNEWv
--------------------------------------------------------------------------------------------------------------------------------------
Download the slides & audio at InfoQ: bit.ly/2SKpUIC
Susheel Aroskar talks about Zuul Push, a scalable push notification service that handles millions of "always-on" persistent connections from all the Netflix apps running. He covers the design of the Zuul Push server and reviews the design details of the back-end message routing infrastructure that lets any Netflix microservice push notifications to any connected client.
This presentation was recorded at QCon New York 2018: bit.ly/2JFHitG
#SoftwareArchitecture #Netflix #ZuulPush #InfoQ #QConNewYork

Пікірлер: 62

  • @prudvim3513
    @prudvim35132 жыл бұрын

    Much better than watching "Design a Notification Service" System design interview videos.

  • @zkwentz
    @zkwentz2 жыл бұрын

    The “ask client to close” due to TCP wait avoidance, is brilliant. Well done!

  • @lalanashree3962
    @lalanashree3962Ай бұрын

    One of the best 'Notification Design videos' seen so far.

  • @bedtimestoriesforkids9755
    @bedtimestoriesforkids97553 жыл бұрын

    I am watching this right before a system design session! :)

  • @vibhorsharma6172

    @vibhorsharma6172

    3 жыл бұрын

    Same lol

  • @audi88
    @audi884 жыл бұрын

    This talk is so good. Especially the mention of benchmarking numbers. m4.large ~ 8G,2vCPU = 84000 concurrent connections. ❤️

  • @mat822

    @mat822

    3 жыл бұрын

    yes it is very good talk but it not clear what is the throughput of the system with 84K clients, I guess it is very low if he was saying the CPU was barely used.

  • @faizhalde2836

    @faizhalde2836

    3 жыл бұрын

    @@mat822 the system does look io intensive (mostly network calls) so low cpu makes sense i think

  • @helloworld7313

    @helloworld7313

    2 жыл бұрын

    @@mat822 125 million users, 1 push notification per day, each notification takes 1KB 125000000*1024/86400 negligible throughput. Of course they kill connections periodically, but still very low throughput system.

  • @ThanosVassilakis
    @ThanosVassilakis3 жыл бұрын

    This a great talk that really warms up after 20 minutesin when the talk goes into operation details.

  • @viveksai9353
    @viveksai93533 жыл бұрын

    Every bit of applause deserved for such a verbose explaination.

  • @km2411_
    @km2411_3 жыл бұрын

    Really neat presentation with much informative content.

  • @Nemosaur
    @Nemosaur3 жыл бұрын

    This has been so insightful Thank you so much for this talk!

  • @RanjithVj404
    @RanjithVj4043 жыл бұрын

    Excellent presentation. Thanks for getting into implementation details!

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

    Super comprehensive and very inspirational! Thank you.

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

    Amazing talks! I learn a lot from this video. "Ask client to close" is really brilliant. Randomized the connection time is also very impressive. I have seen random backoff algorithm, don't know it can also be used in this scenario.

  • @8Trails50
    @8Trails503 жыл бұрын

    This is an insanely good talk.

  • @mukeshprajapati9642
    @mukeshprajapati96423 ай бұрын

    Really good explanation. Literally clapped at the end :)

  • @sasaa4908
    @sasaa49083 жыл бұрын

    Thank you so much for this talk !! very well explained ...

  • @at_tap
    @at_tap3 жыл бұрын

    Extremely well conducted video, very informative and explained without any wrinkles. Kudos!!

  • @Dipesh_Sol

    @Dipesh_Sol

    9 ай бұрын

    Reminds me of backpressure, ofc not the same here.

  • @VishalThakur-wo1vx
    @VishalThakur-wo1vx4 ай бұрын

    Love this talk

  • @PankajKumar-vi4tn
    @PankajKumar-vi4tn3 жыл бұрын

    Very good talk. I also liked some of the questions in the end.

  • @pothiq
    @pothiq5 жыл бұрын

    It's truly comprehensive. Thanks for the nice presentation in a very understandable way.

  • @amitbaijal421
    @amitbaijal4214 жыл бұрын

    Great presentation.

  • @stillyi
    @stillyi3 жыл бұрын

    Thank you! Very informative presentation.

  • @renon3359
    @renon33593 ай бұрын

    TCP TIMED WAIT avoidance was brilliant

  • @wyjiaonju
    @wyjiaonju2 жыл бұрын

    Great talk! Very inspirational!

  • @madeeshafernando8496
    @madeeshafernando84963 жыл бұрын

    wow, what a great talk, explains really well!!

  • @pragmaticsoftwareengineer7965
    @pragmaticsoftwareengineer79652 жыл бұрын

    Brilliant Talk.. Learned so much.. Thanks Susheel.

  • @codetolive27
    @codetolive272 жыл бұрын

    Excellent presentation!! Lots to learn

  • @lukeyd13
    @lukeyd132 жыл бұрын

    What an amazing speaker this guy is

  • @attention_shopping
    @attention_shopping2 жыл бұрын

    what a great talk. so dense, no fluff

  • @dhrumilparmar9294
    @dhrumilparmar92942 жыл бұрын

    Awesome talk! Enjoyed it.

  • @jmitesh01
    @jmitesh013 жыл бұрын

    nit pick here, but how does sharding for availability help in push registry feature checklist? Its because it protects by only some portion of connection server goes down?

  • @deepakkumarnd
    @deepakkumarnd2 жыл бұрын

    Great talk, very detailed

  • @ankitjindal7059
    @ankitjindal70592 жыл бұрын

    Really thought through presentation

  • @allanvalooran6604
    @allanvalooran66043 жыл бұрын

    Great Talk

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

    Just Amazing! 👏

  • @BHARATKUMAR-le6eq
    @BHARATKUMAR-le6eq Жыл бұрын

    I think some confusion at ELB. ELB operates at Layer 4 which means at the TCP layer already.

  • @NK-ju6ns
    @NK-ju6ns2 жыл бұрын

    Neat presentation and insightful.

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

    great talk, thank you!

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

    Question : when you say client opens connection and stays connected to that server, wouldn't it talk to load balancer and not the actual server here? So even if you deploy new server behind that load balancer there won't be any issue of the connection closing and re-opening as you mentioned? Please shed some light if I am missing something here.

  • @VinayYadav-xy7dk
    @VinayYadav-xy7dk2 жыл бұрын

    Brilliant!!

  • @conquerorsanthosh
    @conquerorsanthosh2 жыл бұрын

    Such an awesome content , thankyou

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

    Very nice presentation

  • @hyper.charged_
    @hyper.charged_3 жыл бұрын

    Excellent

  • @PratikNandoskar
    @PratikNandoskar5 жыл бұрын

    Very Good. thanks for sharing.

  • @hutofrock
    @hutofrock2 жыл бұрын

    Excellent presentation with enough in-depth details and nice insights!

  • @gharatmayuresh15
    @gharatmayuresh153 жыл бұрын

    Excellent presentation !!!

  • @BHARATKUMAR-le6eq
    @BHARATKUMAR-le6eq Жыл бұрын

    I have only one request why the client depends on the server. I mean why this client-server mapping. What if the server is down then we need to migrate all the client-specific servers to a new server which is costly and may create issues like thundering. It's not we should make the server stateless with client requests and maybe only we should store client information in the push registry?? and when push notifications just randomly pick the server and send a message to the client id.

  • @smonkey001
    @smonkey0013 жыл бұрын

    How can they "push messaging" to Android with WebSocket while Google simply banned any push notification methods but FCM?

  • @lahmerilyas4430

    @lahmerilyas4430

    Жыл бұрын

    This push mechanism is for users who are using the app. FCM is used for both forground/background usage.

  • @TheNikhilbhoyar
    @TheNikhilbhoyar3 жыл бұрын

    what is worse than thundering herd? its recurring thundering herd

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

    Hearing all this talk of massively scalable is getting so nauseous man, fk this shit

  • @ridhwaans
    @ridhwaans3 жыл бұрын

    what is the difference between push vs kafka messages/ message queues?

  • @maximecaron3133

    @maximecaron3133

    2 жыл бұрын

    with push client subscribe to a small set of keys( movie name …). while with kafka there is a single log and client need to read all message that have been written to the log

  • @harshitpandey6664
    @harshitpandey66642 жыл бұрын

    Tip : Watch at 1.25x speed.

  • @greyreynyn
    @greyreynyn2 жыл бұрын

    man this is cool and all but all this work is just so you can say "hey, we think you might like this anime" ?

Келесі