Skip to content

rs/rest-layer-hystrix

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

REST Layer Hystrix storage handler wrapper

godoc license build

This REST Layer resource storage wrapper uses hystrix-go to add circuit breaker support to any REST Layer resource storage handler.

Usage

import "github.com/rs/rest-layer-hystrix"

Wrap existing storage handler with a name that will be used to construct hystrix commands:

s := restrix.Wrap("myResource", mem.NewHandler())

Use this handler with a resource:

index.Bind("foo", foo, s, resource.DefaultConf)

Customize the hystrix commands:

// Configure hystrix commands
hystrix.Configure(map[string]hystrix.CommandConfig{
    "posts.Find": {
        Timeout:               1000,
        MaxConcurrentRequests: 100,
        ErrorPercentThreshold: 25,
    },
    "posts.Insert": {
        Timeout:               1000,
        MaxConcurrentRequests: 50,
        ErrorPercentThreshold: 25,
    },
    ...
})

Start the metrics stream handler:

hystrixStreamHandler := hystrix.NewStreamHandler()
hystrixStreamHandler.Start()
log.Print("Serving Hystrix metrics on http://localhost:8081")
go http.ListenAndServe(net.JoinHostPort("", "8081"), hystrixStreamHandler)

About

REST Layer Hystrix storage handler wrapper

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages