0.1.34 • Published 8 years ago

@betit/orion v0.1.34

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

Orion

Build Status Coverage Status NPM Version

Orion is a pluggable framework for microservices.

Following "batteries included but removable" design philosophy. Providing sane default implementations, but everything is swappable. Comes with built in support for various transports and codecs.

Features

  • Async communication: event driven architecture (pub/sub)
  • Sync communication: request-response transport layer
  • RPC: clean and simple interface to build services

Components

  • Transport: provides an interface for sync request/response communication
  • Codec: used for encoding and decoding messages before transporting across the wire
  • Service: provides an interface to name your service and register request handlers
  • Client: provides an interface to make requests to services

Built-in components

  • Transports: NATS (default)
  • Codecs: JSON (default), MessagePack

Example

Service:

const orion = require('@betit/orion');

const service = new orion.Service('calc');

service.handle('add', (req, reply) => {
  reply(null, parseInt(req.params.a) + parseInt(req.params.b));
});

service.listen(() => {
  console.log(`Service started: ${service}`);
});

Client:

const orion = require('@betit/orion');

const client = new orion.Client({ service: 'calc' });

client.call('add', { a: 3, b: 2 }, (err, res) => {
  console.log(err, res);
  client.close();
});

Check out the examples folder for more examples.

Development

$ docker run -p 4222:4222 -p 8222:8222 -d nats
$ npm install
$ npm test

License

MIT

0.1.34

8 years ago

0.1.33

8 years ago

0.1.32

8 years ago

1.0.0-beta.6

9 years ago

1.0.0-beta.5

9 years ago

1.0.0-beta.4

9 years ago

1.0.0-beta.3

9 years ago

1.0.0-beta.2

9 years ago

1.0.0-beta.1

9 years ago

0.1.31

9 years ago

0.1.30

9 years ago

0.1.29

9 years ago

0.1.28

9 years ago

0.1.27

9 years ago

0.1.26

9 years ago

0.1.25

9 years ago

0.1.24

9 years ago

0.1.23

9 years ago

0.1.22

9 years ago

0.1.21

10 years ago

0.1.20

10 years ago

0.1.19

10 years ago

0.1.18

10 years ago

0.1.17

10 years ago

0.1.16

10 years ago

0.1.15

10 years ago

0.1.14

10 years ago

0.1.13

10 years ago

0.1.12

10 years ago

0.1.11

10 years ago

0.1.10

10 years ago

0.1.9

10 years ago

0.1.8

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago