项目作者: icebob

项目描述 :
Moleculer <-> Hemera sidecar/gateway
高级语言: JavaScript
项目地址: git://github.com/icebob/moleculer-sidecar-hemera.git
创建时间: 2018-03-29T11:02:28Z
项目社区:https://github.com/icebob/moleculer-sidecar-hemera

开源协议:MIT License

下载


moleculer-sidecar-hemera NPM version

Moleculer <-> Hemera sidecar/gateway.

Features

  • call Hemera service from Moleculer service
  • call Moleculer service from Hemera service
  • emit Moleculer event from Hemera service
  • broadcast Moleculer event from Hemera service

Install

  1. npm install moleculer-sidecar-hemera

Usage

Moleculer side

Call a Hemera service

  1. broker.call("hemera.act", { topic: "math", cmd: "add", a: 5, b: 3 })
  2. .then(res => broker.logger.info("Result: ", res))
  3. .catch(err => broker.logger.error(err));

Hemera side

Call a Moleculer service

  1. hemera.act({
  2. topic: "moleculer",
  3. cmd: "call",
  4. action: "greeter.welcome",
  5. params: {
  6. name: "John"
  7. }
  8. }).then(msg => hemera.log.info("Result: ", msg.data))
  9. .catch(err => hemera.log.error(err));

Emit a Moleculer event

  1. hemera.act({
  2. topic: "moleculer",
  3. cmd: "emit",
  4. event: "user.created",
  5. payload: {
  6. id: 5,
  7. name: "John"
  8. }
  9. // groups: []
  10. }).catch(err => hemera.log.error(err));

Broadcast a Moleculer event

  1. hemera.act({
  2. topic: "moleculer",
  3. cmd: "broadcast",
  4. event: "user.created",
  5. payload: {
  6. id: 5,
  7. name: "John"
  8. }
  9. // groups: []
  10. }).catch(err => hemera.log.error(err));

Settings

Property Type Default Description
natsOptions Object undefined NATS connect options for Hemera.
hemeraOptions Object {} Hemera constructor options.

Test

  1. $ npm test

In development with watching

  1. $ npm run ci

Contribution

Please send pull requests improving the usage and fixing bugs, improving documentation and providing better examples, or providing some testing, because these things are important.

License

The project is available under the MIT license.

Contact

Copyright (c) 2018 MoleculerJS

@icebob @icebob