Links

Node.x: asynchronous, event-based server framework for the JVM similar to node.js

What is Node.x?

* A general purpose framework that uses an asynchronous event based style for building highly scalable network or file system aware applications
* Runs on the JVM.
* Everything is asynchronous.
* Embraces the style of node.js and extends it to the JVM. Think node.js on steroids. Plus some.
* Polyglot. The same (or similar) API will be available in multiple languages: Ruby, Java, Groovy, (Python?, JS?, Clojure?), etc
* Goes with the recent developments with InvokeDynamic in Java 7 and bets on the JVM being the future premier runtime for dynamic languages.
* Enables you to create network servers or clients incredibly easily.
* True threading. Unlike node.js, Python Twisted or Ruby EventMachine, it has true multi-threaded scalability. No more spinning up 32 instances just to utilise the cores on your server.
* Understands multiple protocols out of the box including: TCP, SSL, UDP, HTTP, HTTPS, Websockets, AMQP, STOMP, Redis etc
* Provides an elegant api for composing asynchronous actions together. Glue together HTTP, AMQP, Redis or whatever in a few lines of code.

https://github.com/purplefox/node.x/
http://purplefox.github.com/node.x/

Filed under  //   groovy   java   jruby   jvm   node   node.js   scala   server  
Posted July 11, 2011 by email 

Hummingbird: Site tracking and analytics storage

Hummingbird lets you see how visitors are interacting with your website in real time.

And by “real time” we don’t mean it refreshes every 5 minutes—WebSockets enable Hummingbird to update 20 times per second.

Hummingbird is built on top of Node.js, a new javascript web toolkit that can handle large amounts of traffic and many concurrent users.

Hummingbird is organized into two parts: a node.js-based tracking server that records user activity via a tracking pixel, and a collection of javascript-based widgets that display that activity. The server records all activity in MongoDB and broadcasts it to the clients using WebSockets if possible, and falling back to Flash sockets if necessary.

The Hummingbird.WebSocket object receives websocket events from the server in the form of JSON objects. Individual widgets subscribe to a property in the JSON tree and register handler functions to be called whenever that property is present.

Image001

Project: http://projects.nuttnet.net/hummingbird/

Code: https://github.com/mnutt/hummingbird

Demo: http://demo.hummingbirdstats.com/

Filed under  //   javascript   metrics   mongodb   monitoring   node   realtime   web  
Posted February 24, 2011 by email