I have a general question about scalability. The FAQ states:
"Unlike mod_pubsub, Pushlets can only maintain a few simultaneous
connections, and require Java programming."
Looking at something like Tomcat, it's easy to see that Pushlets are
using a thread per-request, and since the request never returns, each
client is tying up one thread. Obviously this isn't a requirement of
HTTP, it's just how it happens to be implemented. Normally the server
is expected to handle the request quickly and return - then the thread
goes back into some pool.
My question is: what is mod-pubsub doing differently? Is it working
at the socket level then, maintaining a list of open connections per
subscription and only writing out to them from some service thread
when an event occurs on that subscription?
In this case I suppose you're only limited by the number of sockets
availble to the OS.
Sorry if this is a basic question, but I can't find anywhere that
spells this out.
Thanks
|