22 Comments
User's avatar
Bert Beckmann's avatar

so if "Although good for specific use cases, it isn’t a silver bullet for real-time communication."

what is the silver bullet (the best solution for real time communication) ?

If google docs uses websockets - how does google docs handle the server limited websocket connections issue?

Neo Kim's avatar

> what is the silver bullet (the best solution for real time communication)?

it depends.

> If google docs uses websockets - how does google docs handle the server limited websocket connections issue?

I'll have to find out how Google Docs scale websockets. (They have less information in the public domain.)

Here are 2 approaches:

- Vertically scale the server to handle more connections.

- Add more servers to scale horizontally and put a load balancer in front of them.

You can use the pub-sub pattern to handle many websocket handshake requests at once. It uses a message broker to shed the load.

Sanidhya Rathore's avatar

Interesting Read!

Michał Kutyła's avatar

Good article, thanks! It would be great to have a sentence or two about when the websockets where introduced and what was their impact on the industry.

Neo Kim's avatar

thanks for the feedback, I shall cover this topic in depth later.

Raul Junco's avatar

Real-time communication reshaped user interaction.

I still remember the first time using Websockets.

Thanks for the breakdown, Neo!

Neo Kim's avatar

true, you're welcome.

Petar Ivanov's avatar

Server-Sent Events are a great way to keep the client up-to-date, especially with distributed systems when something in the backend gets updated.

That's a great breakdown, Neo!

Zach Silveira's avatar

I prefer SSE with http post requests for the client to send data. But I guess it really depends on the app.

Ali's avatar

What's the curriculum, or what are the gains of "I’m launching system design deep dives in March 2025?"?