Circuit Breaker

Janus has a circuit breaker plugin that can be configured for each endpoint. You can check our example on how to use the plugin.

Configuration

The plain cb config:

{
    "name" : "cb",
    "enabled" : true,
    "config" : {
        "name": "my-circuit-breaker",
        "timeout" : 1000,
        "max_concurrent_requests": 100,
        "error_percent_threshold": 50,
        "request_volume_threshold": 20,
        "sleep_window": 5000,
        "predicate": "statusCode == 0 || statusCode >= 500"
    }
}
Configuration Description
name Circuit Breaker name to group stats
timeout Timeout that the CB will wait till the request responds
max_concurrent_requests How many commands of the same type can run at the same time
error_percent_threshold Causes circuits to open once the rolling measure of errors exceeds this percent of requests
request_volume_threshold Is the minimum number of requests needed before a circuit can be tripped due to health
sleep_window Is how long, in milliseconds, to wait after a circuit opens before testing for recovery
predicate The rule that we will check to define if the request was successful or not. You have access to statusCode and all the request object. Defaults to `statusCode == 0 \ \ statusCode >= 500`

results matching ""

    No results matching ""