Node.js server supporting socket.io 50,000 concurrent clients

We are developing a Javascript control that must constantly connect to the server to receive animation updates.

We plan to post this material in the Amazon cloud.

The scenario is as follows: the server connects to the activemq queue, waiting for updates, for each update it passes it to all connected clients.

Is it possible to handle such a load with node.js + socket.io? Will one node.js server handle this kind of load? How to organize fast transport between different nodes if we have to use more than one node?

+4
source share
1 answer

Will a single node.js server be able to handle such a load? .. How to organize fast transport between different nodes if we have to use more than one node

You say what you plan to accept on Amazon. So, firstly, nothing should be limited to one server. Amazon machines will simply β€œdisappear”, you must assume that you are going to use several computers.

... 50k concurrent client processing

So, for starters, 50k connections per box is a very large number. Here's a very detailed blog post discussing "getting up to 10k" using node.js + socket.io.

Here is a very revealing quote:

it seemed that 10,000 clients simply required more serialization than my server could handle.

Thus, the key component for "getting up to 50 thousand." is the amount of work required simply to transfer data over a cable.

How to organize fast transport between different nodes, if we need to use more than one node.

This blog post is the first of 3. When you are finished, read the other two. This should indicate the right direction.

+14
source

All Articles