Barge
Node.js micro-service orchestration framework; inspired by Seaport and ZeroRPC
Barge lets you quickly compose networked distributed systems from a collection of services. Services register their network location with the Barge registry, clients query for available services and connect to use their methods from afar.
Usage
Define a service with new barge.Service(name, options)
:
barge = require 'barge' # Create a new Barge service named 'hello' hello_service = 'hello'methods: # With a few methods : cb null'Hello, ' + name + '!' : cb null'Goodbye, cruel ' + name + '!'
Define a client with new barge.Client(options)
:
barge = require 'barge' # Create a new Barge client hello_client = # Execute the 'hello' service's `sayHello` method with the argument 'world' ... hello_clientremote 'hello''sayHello''world' # ... then execute hello.sayGoodbye('world') hello_clientremote 'hello''sayGoodbye''world' # ... then print the responses and leave consolelog '[hello.sayHello] response: ' + hello_response consolelog '[hello.sayGoodbye] response: ' + goodbye_response processexit
Start the registry and service, then run the client:
$ barge-registry &Barge registry listening on localhost:9010... $ coffee hello-service.coffee &Barge service listening on localhost:15555... $ coffee hello-client.coffeeFound service hello@localhost:15555[hello.sayHello] response: Hello, world!
Installation
To get the barge library, with npm do:
$ npm install barge
To get the barge-registry
command, do:
$ npm install -g barge