barge

0.0.4 • Public • Published

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

Package Sidebar

Install

npm i barge

Weekly Downloads

5

Version

0.0.4

License

none

Last publish

Collaborators

  • spro