0.0.4 • Published 10 years ago

barge v0.0.4

Weekly downloads
14
License
-
Repository
-
Last release
10 years ago

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
0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago