We wanted to do realtime notifications and polling isn't a way to do this. We tried different options and in the end wrote our own comet solution using JBoss Netty. Working with JBoss Netty was really great, but we hit perfomance limits on lots of open connections (100.000+).
At that time node.js was released and I did some experiments with it and found it it had great perfomance and very low memory footprint. I also had an university course on the V8 VM (by the actual Google team :)) so I was pretty interested in V8 and node.js at that time. I experimented more with this and eventually we rewrote our comet solution to node.js
Fast forward today we are still running node.js and processing many millions notifications each day. I would recommend digging into node if you are interested in building a scaleable notification system. Our comet implementation for node.js is under 1 KLOC.
Other posts you might be interested in:
* http://amix.dk/blog/post/19484#Comet-with-node-js-and-V8
* http://amix.dk/blog/post/19456#Plurk-Comet-Handling-of-100-0...
* http://amix.dk/blog/post/19489#Comet-long-polling-for-all-br...