1.0.8 • Published 4 years ago

@nauma/node-microservice v1.0.8

Weekly downloads
-
License
ISC
Repository
github
Last release
4 years ago

node-microservices

Using microservices on node.js Size: 11.6 Kb 0 dependencies

install

$ npm i @nauma/node-microservice --save

using

require

const ms = require('@nauma/node-microservice')

create Serverservice(server)

const databaseServer = new ms.Serverservice('databaseServer', { host: 'localhost', port: 9250 })

create Clientservice(client)

const restServer = new ms.Clientservice('restServer', [
  { name: 'databaseServer', host: 'localhost', port: 9250 }
])

create server listeners to clients

databaseServer.get('restServer', server => {
  server.open(() => { // new connection
    console.log(server.name, 'connected!')
  })
})

or

databaseServer.get('restServer')
  .open(() => { // new connection
    console.log(server.name, 'connected!')
  })

add message listeners

databaseServer.get('restServer', server => {
  server.on('hello', response => { // new connection
    console.log(response.result)
  })
})

send message

databaseServer.get('restServer', server => {
  // send message if client is connected
  server.open(() => {
    server.send('hello', { testData: 1 })
  })
})

full example

const ms = require('@nauma/node-microservice')

const restServer = new ms.Clientservice('restServer', [
  { name: 'databaseServer', host: 'localhost', port: 9250 }
  // etc connections
])

// add connection listener
restServer.get('databaseServer', database => {
  database.open(() => {
    console.log(database.name, 'connected!')
  })

  database.on('test', response => {
    console.log(database.name, 'send', response.result)
  })

  database.on('reply', response => {
    // reply message
    response.reply(response.result)
  })
})


const databaseServer = new ms.Serverservice('databaseServer', { host: '0.0.0.0', port: 9250 })

databaseServer.get('restServer', server => {
  server.open(() => {
    console.log(server.name, 'connected!')
    // send data
    server.send('test', { data: 228 })

    // send data & get reply
    server.send('reply', { data: 'hello' }, response => {
      console.log(server.name, 'reply:', response.result)
    })
  })
})

License

ISC

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.0

6 years ago