🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

simplified-hystrixjs

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

simplified-hystrixjs

Netflix's Hystrix latency and fault tolerance library, for Node.js

latest
Source
npmnpm
Version
1.0.16
Version published
Weekly downloads
53
-43.62%
Maintainers
1
Weekly downloads
 
Created
Source

Build Status npm version

simplified-hystrixjs

A simplified hystrixjs library for Nodejs based on opossum

Install

$ npm i simplified-hystrixjs -S

Usage

const { createHystrixCommands, createHystrixStream, getPrometheusStream } = require('simplified-hystrixjs');

function hello(name) {
  return new Promise(function(resolve, reject) {
    setTimeout(function () {
      resolve(`Hello, ${name}`)
    }, 1000);
  });
}

const serviceCommand = createHystrixCommands(hello, { name : 'HelloService'});

app.get('/hello', async (req, res) => {
  try {
    const response = await serviceCommand.hello(req.query.name);
    res.send(response)
  } catch (e) {
    console.log(e);
  }
});

Methods

createCommands(fn, service);

fn - can be of type object, Array of functions or a function.

service - service object with the following properties

  • statisticalWindowNumberOfBuckets - number of buckets within the statistical window
  • statisticalWindowLength - length of the window to keep track of execution counts metrics (success, failure)
  • errorThreshold - error percentage threshold to trip the circuit
  • timeout for request
  • cbRequestVolume - minimum number of requests in a rolling window
  • cbsleep - how long the circuit breaker should stay opened.
  • name - service name
  • isFailure - emitted when the breaker action fails, called with the error
  • modifyError - modifies the error message by adding circuit name. false by default.

Monitoring

Expose a monitoring endpoint for hystrix stream.

createHystrixStream(app, /*[endpoint]*/); // default /manage/hystrix.stream

Prometheus stream.

getPrometheusStream()

Hystrix Dashboard

monitorer

to run the dashboard, download standalone-hystrix-dashboard ̨ and run

$ java -jar standalone-hystrix-dashboard-{VERSION}-all.jar

Access the dashboard in your browser: http://localhost:7979/hystrix-dashboard

Contributing

We gladly welcome pull requests and code contributions, take care to maintain the existing coding style.

Keywords

Hystrixjs

FAQs

Package last updated on 03 Oct 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts