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.
haypi.serviceRequest
Using 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 => {
})