I am looking at netflix's hystrix for wrapping around network calls.
With hystrix, you define a subclass of HystrixCommand<E>
for each potential RPC command you need to use.
I have an apache thrift client set up which has many commands. Are there any alternatives to hystrix that allows me to easily wrap it around the entire client as opposed to having to define a HystrixCommand
class for each function?
Twitter's Finagle is an alternative to Netflix's Hystrix.
Finagle creates an RPC for the whole client just as you need and of course Finagle talks Thrift and also Redis, MySQL, memcached and etc.
Finagle is created with Scala but it can also be used with Java (and all the JVM ecosystem languages like JRuby and Clojure)
Of course you can even use other languages outside the JVM since Finagle can talk Thrift and Thrift is available for a lot of other languages and platforms like Go, C# and even Objective-C for use it in an iPhone or iPad as client instead of slow Json/HTTP calls.
More info about Finagle here -> https://twitter.github.io/finagle/guide/ and here an starting project sample with Finagle Maven and Java -> https://github.com/csaltos/hello-finagle-maven