WebSocket with scalability
John D. Mitchell
jdmitchell at gmail.com
Tue Aug 9 10:56:29 EDT 2011
Hi folks,
On Aug 9, 2011, at 03:17 , ljohnston wrote:
> Benoit Perroud wrote:
[...]
>> In the scenario of scaling websocket, using any software proxy won't
>> scale to more than 64'000 connections, which is the number of port
>> (ipv4) the proxy can open to forward incoming connection to processing
>> nodes.
Alas, that's just plain false. There can be *way* more connections per IP and per port!
See below for more info...
> Slight correction (hope you don't mind), the limitation on the number of
> ports is a feature of TCP (and UDP) which defines unsigned 16 bit fields for
> the source and destination port numbers.
>
> IP (either V4 or V6) only knows about IP addresses.
>
> Just in case anyone was thinking IPv6 might change things - it won't
> although it may eventually result in even more clients wanting to connect to
> your limited number of ports simultaneously :)
The sockets are identified and managed as 4-tuples (src-IP, src-port, dest-IP, dest-port). See, e.g.:
http://en.wikipedia.org/wiki/Internet_socket
As always, it's a good recommendation for people to read the classics TCP/IP Illustrated books by W. Richard Stevens:
http://www.kohala.com/start/
Anyways, for an example of scaling to boatloads of connections in the wild (with a fun write up and lots of engineering/tuning details):
http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1
Take care,
John
More information about the netty-users
mailing list