Really enjoying this content; you break the content down in a really approachable way! I think the depth of info covered is pretty good too. Obviously not too detailed but enough to enable people to know what to search for if they decide they want to learn more.
I guess the websockets need to be sticky sessioned(a client being only connected to one of the horizontal scaled servers?), hence to keep it connected with the client & service...? If so, in case of failure and how do we know which data to send again from the server?(I guess this question goes same for the UDP, how does the Netflix know I watched this video until certain time when the server that respond gets killed? If we sacrifice the reliability, i guess we can just restart from some random(But recent) time?). PS. But again, thanks for the awesome video. Your my life savor and I mean it!(forgot to add this.)
Hey Jordan. A bit confused here about long polling (thanks for all the content btw): If we long poll, don’t we also hold an open (though not persistent) connection? And if we need to reestablish it anyways, isn’t it twice the load on server? Both has to hold open connection and also receive a new request for each new data event? Always thought that long polling was inefficient exactly for the reason of an open connection held on the server and that web sockets at least slightly decreased the load there
I don't really disagree with anything that you've said! That being said, polling can have the occasional nice property of basically rebalancing itself to another server via load balancing if one becomes overloaded
Thank you! The SSE works like broadcast from server. So all clients gets the same data result. How to send data for specific clients, for exmaple who has subscription on category: "news". I write more in application layer.
For every client, you have a different "session" in SSE. So when a user is logged in and has the session opened you send an event to a user which. No session -> no event send
Great content Jordan, thank you for all your videos. I was curious - are stock trading platforms or websites that display live updates (say sports sites with live scores, etc) using SSEs?
should i watch the newer versions of your videos or both the old and new versions? like for this topic, is it fine just to watch this vid or the old one
I think the newer ones are meant to be strictly better than the older ones. Ideally it's all of the same content, but just better for visual learners. Gonna do the same for the interview problems starting in a couple of weeks
I noticed in the old vid you mentioned WebSockets were the ones having thundering herb problem due to reconnects, while in this new vid you are saying only SSE will have this problem. Should we say they both have this problem?
Hmm interesting, maybe a typo on my end, it's just SSE that automatically reconnect by default, but if you naively reconnect a websocket right when it breaks I suppose you could have a thundering herd issue there too.
I believe client subscribes for the events, not exactly like PUB-SUB model, from chatGPT In Server-Sent Events (SSE), it's the client that initiates and establishes the connection to the server and then the server pushes updates through that established connection.
Really enjoying this content; you break the content down in a really approachable way!
I think the depth of info covered is pretty good too. Obviously not too detailed but enough to enable people to know what to search for if they decide they want to learn more.
Yeah at the end of the day it's an interview channel, don't want to bombard everyone too hard haha
Hey Jordan
Thank you for this great content.
The notes you create while recording videos. Is there any way possible, you can share them?
I already have, go to the substack link in my channel about page
Hi, watched a few videos of yours.
Very nice job, helps me a lot!
I guess the websockets need to be sticky sessioned(a client being only connected to one of the horizontal scaled servers?), hence to keep it connected with the client & service...?
If so, in case of failure and how do we know which data to send again from the server?(I guess this question goes same for the UDP, how does the Netflix know I watched this video until certain time when the server that respond gets killed? If we sacrifice the reliability, i guess we can just restart from some random(But recent) time?).
PS. But again, thanks for the awesome video. Your my life savor and I mean it!(forgot to add this.)
In your netflix example, we can never be perfect, but the server basically persists the last known timestamp until it dies.
Hey Jordan. A bit confused here about long polling (thanks for all the content btw):
If we long poll, don’t we also hold an open (though not persistent) connection? And if we need to reestablish it anyways, isn’t it twice the load on server? Both has to hold open connection and also receive a new request for each new data event?
Always thought that long polling was inefficient exactly for the reason of an open connection held on the server and that web sockets at least slightly decreased the load there
I don't really disagree with anything that you've said! That being said, polling can have the occasional nice property of basically rebalancing itself to another server via load balancing if one becomes overloaded
Thank you! The SSE works like broadcast from server. So all clients gets the same data result. How to send data for specific clients, for exmaple who has subscription on category: "news". I write more in application layer.
This feels more like a 'pub/sub' kind of problem. I'll say the combination of pub sub and SSE will be a good idea here.
For every client, you have a different "session" in SSE. So when a user is logged in and has the session opened you send an event to a user which. No session -> no event send
Perhaps using different event sources
@@tomaszzieba315 seems SSE does not support session. could you help me?
Great content Jordan, thank you for all your videos. I was curious - are stock trading platforms or websites that display live updates (say sports sites with live scores, etc) using SSEs?
I would imagine that some percentage of them are, but hard to say without checking each codebase individually
Or network tab 😄
should i watch the newer versions of your videos or both the old and new versions? like for this topic, is it fine just to watch this vid or the old one
I think the newer ones are meant to be strictly better than the older ones. Ideally it's all of the same content, but just better for visual learners.
Gonna do the same for the interview problems starting in a couple of weeks
Hair looking fly today
I'm asymptotically approaching SBF
LMAO at that intro
I noticed in the old vid you mentioned WebSockets were the ones having thundering herb problem due to reconnects, while in this new vid you are saying only SSE will have this problem. Should we say they both have this problem?
Hmm interesting, maybe a typo on my end, it's just SSE that automatically reconnect by default, but if you naively reconnect a websocket right when it breaks I suppose you could have a thundering herd issue there too.
How does server side event know which client to reestablish connection with? Do they maintain a list of clients?
I believe this is handled by the client
I believe client subscribes for the events, not exactly like PUB-SUB model, from chatGPT
In Server-Sent Events (SSE), it's the client that initiates and establishes the connection to the server and then the server pushes updates through that established connection.
Web2 browser scripting isn't software engineering, it's script kid engineering.
:O