haypi-redis-discovery

1.1.1 • Public • Published

Haypi Redis Service Disovery Module

This is a package allowing for discovery of haypi instances using Redis pub/sub.

Here's how to use it:

In your Haypi initialization:

let redisDiscovery = require('haypi-redis-discovery')
let actions = haypi.discovery(redisDiscovery, config)

The config object takes one option specific to haypi-redis-discovery, channel which is the pub/sub channel your service will communicate on.

Calling discovery successfully automatically makes the following haypi methods available:

serviceRequest: Make an HTTP request to a connected service.

connectedServices: See all connected services.

The discovery interface returns an object with 3 functions relative to service discovery. You do not need to ever call these manually for service discovery to fully function. Only use these for custom behaviors.

services: Lists the connected services.

announce: Announces the service on the initialized channel.

remove: Broadcasts the exit of the service.

The discovery interface emits three events using's haypi's built in events:

announce: The service has announced itself.

connection: A service has connected.

disconnect: A service has disconnected.

Using haypi.serviceRequest

Example:

haypi.serviceRequest("some-other-service-name")
.get("/path/to/route")
.then((body, meta) => {
    
})
.catch(err => {
    
})
haypi.serviceRequest("some-service")
.post("/path", {
    headers: {

    },
    body: data
})
.then((body, meta) => {
    
})
.catch(err => {
    
})

Readme

Keywords

none

Package Sidebar

Install

npm i haypi-redis-discovery

Weekly Downloads

1

Version

1.1.1

License

ISC

Last publish

Collaborators

  • scoin