Skip to content
This repository

A NodeJS module, that provides network distributed events and network distributing "live" objects

branch: master
README.md

build status

About.

It is Node JS module that will provide network distributed events. It uses UDP broadcast for sending it's useful data.

Changelog


v 0.0.3 - Added linux signal interception. When closed with signal SIGINT, SIGHUP and SIGQUIT the module distributes all its pool objects to all the remaining nodes in equal portions.
v 0.0.4 - Added encryption to events sent on the network. This can be switched on and off. Uses DES encryption method.
v 0.0.8 - Manage to fix the package.json with a proper forma. Added also special events that once emited they wait for a reply by providing a callback and a timeout. When the timeout is reached the callback is removed from the watch list. This events are non-blocking.
v 0.0.9 - All user generated events, are calling the assigned call back with two parameters (data and the ID of the event emiter instance) v 0.0.10 - Emiting a new event "rawdata", which is emited every time a event message is received. It contains the whole message object. NOTE: take care on how are you using this v 0.0.11 - Added "inject" function, which enables you to send in the cloud raw data. NOTE: this should be use rarely or never :)

Features

This module is build upon Node JS and provides for the user the following features

  • A network distributed event system. Similar to node JS standard event system
  • A process pool, where objects can be added and ran at a periodic interval a predefined functions.
  • An auto-balancing system, that migrate objects in the process pool, from one running instance to another, based on the load of each instance.

How to use it?

npm install cloudjs

Configuration & Examples?

For this check the example.js file

Explenations?

More and an updated documentation and explanations can be found at http://dan.harabagiu.net/cloudjs.

Enjoy it, and drop me a line if you like it

Something went wrong with that request. Please try again.