we want to enter push technology, and our use case is as following:
- huge number of simultanous clients (several 100.000s)
- low message rate (~ 1 every minute)
- small data (<500 bytes/message)
- latency under 2 seconds
now we have two competing solutions:
we could build up a real websocket/longpolling server-cluster (we will evaluate atmosphere, playframework and socket.io on node or vert.x); this would result in several 100.000 sockets being alive at the same time, nearly all of them idling around (except 25% IE constantly reestablishing a long polling connection);
we could just use static json files behind caching webservers (invalidatable) as the endpoint for classical polling; this would result in several 100.000 requests/second from the browsers, nearly all of them being answered with a result code of 304.
which solution would you propose? especially in terms of resource consumption: cpu, memory, traffic, io?