0.1.34 • Published 6 years ago

@betit/orion v0.1.34

Weekly downloads
1
License
MIT
Repository
github
Last release
6 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

6 years ago

0.1.33

6 years ago

0.1.32

6 years ago

1.0.0-beta.6

7 years ago

1.0.0-beta.5

7 years ago

1.0.0-beta.4

7 years ago

1.0.0-beta.3

7 years ago

1.0.0-beta.2

7 years ago

1.0.0-beta.1

7 years ago

0.1.31

7 years ago

0.1.30

7 years ago

0.1.29

7 years ago

0.1.28

7 years ago

0.1.27

7 years ago

0.1.26

7 years ago

0.1.25

7 years ago

0.1.24

7 years ago

0.1.23

7 years ago

0.1.22

7 years ago

0.1.21

8 years ago

0.1.20

8 years ago

0.1.19

8 years ago

0.1.18

8 years ago

0.1.17

8 years ago

0.1.16

8 years ago

0.1.15

8 years ago

0.1.14

8 years ago

0.1.13

8 years ago

0.1.12

8 years ago

0.1.11

8 years ago

0.1.10

8 years ago

0.1.9

8 years ago

0.1.8

8 years ago

0.1.7

8 years ago

0.1.6

8 years ago

0.1.5

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago