Its such a fun to build low-latency system with Node.js .
It just works like a charm… pulling stream of events in a Redis queue , storing raw data and aggregated result in MongoDB and finally let Browser automatically pull updates and events through socket I/O. Ultimately updating charts in real-time through dojo/jquery websocket client.
More on running Node.js app in CloudFoundry Pass : https://phisymmetry.wordpress.com/2012/12/25/coding-on-cloud-simplicity-matters/
This is a beautiful example from cloudfoundry : http://blog.cloudfoundry.com/2012/09/11/node-activity-streams-app-3/
I was closely following the interesting usecase of server-side chart generation http://developer.gooddata.com/blog/2011/02/22/charting-export-using-nodejs-and-erlang/
Consider for example that you’d like to schedule a regular email to be sent out with your charts every day in the morning. … In this case, there is no browser around to be used – and so you have to generate the chart on the server.
courtesy : Gooddata
The bottom-line is to parallelize different functionality ‘performing chart’, ‘preparing chart’ through running erlang/akka parallel modules on node.js
server-side charting now gaining more traction through jsdom and node-canvas. This is a nice blogpost with some cross-browser html5 compliant code
In order to build a robust server backend clustering is must ! http://nodejs.org/api/cluster.html#cluster_how_it_works
Few interesting performance tips : http://engineering.linkedin.com/nodejs/blazing-fast-nodejs-10-performance-tips-linkedin-mobile