barge
v0.0.4
Published
micro-service orchestration framework
Downloads
7
Readme
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 = new barge.Service 'hello', methods:
# With a few methods
sayHello: (name, cb) ->
cb null, 'Hello, ' + name + '!'
sayGoodbye: (name, cb) ->
cb null, 'Goodbye, cruel ' + name + '!'
Define a client with new barge.Client(options)
:
barge = require 'barge'
# Create a new Barge client
hello_client = new barge.Client
# Execute the 'hello' service's `sayHello` method with the argument 'world' ...
hello_client.remote 'hello', 'sayHello', 'world', (err, hello_response) ->
# ... then execute hello.sayGoodbye('world')
hello_client.remote 'hello', 'sayGoodbye', 'world', (err, goodbye_response) ->
# ... then print the responses and leave
console.log '[hello.sayHello] response: ' + hello_response
console.log '[hello.sayGoodbye] response: ' + goodbye_response
process.exit()
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.coffee
Found 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