Skip to content

Service Discovery Provider

Thiago da Rosa de Bustamante edited this page Jan 19, 2018 · 2 revisions

A ServiceDiscovery Provider is a function that must return a client (or a Promise<any>) to be used to serviceDiscovery middlewares to search for services.

Each serviceDiscovery provider middleware must be defined on its own .js file.

Example:

/**
 */
module.exports = function(config) {
    validateConfig(config);
    const client = new MyClient(config);
    return () => {
        return client;
    };
};

or, using Promises:

module.exports = function (config) {
  return () => {
    return new Promise((resolve, reject) => {
    const client = new MyClient(config);
      config.init(config)
        .then(resolve)
        .catch(reject);
    };
  }
};

You can configure a serviceDiscovery Provider middleware through:

  • Admin Rest API: POST /midleware/servicediscovery/provider
  • SDK: sdk.middleware.addServiceDiscoveryProvider(name, fileName);
  • CLI: treeGatewayConfig middleware serviceDiscoveryProvider -a <name> ./filename.js

Tree Gateway provide some service discovery middlewares for common tasks already included in its distribution. Check the list here.

Clone this wiki locally