fauna / thrift_client

A Thrift client wrapper that encapsulates some common failover behavior.

This URL has Read+Write access

Evan Weaver (author)
Mon Oct 19 18:35:51 -0700 2009
commit  1c66b46b7bf3b59cd288625bb843e827579ea7d1
tree    567edb17fde76311bbad9aa72bf0c75abe7c9e08
parent  e29316c20300681bd3dde4ebb0540e8e1a738aea
name age message
file CHANGELOG Loading commit data...
file LICENSE Tue Oct 13 21:03:15 -0700 2009 Add things. [Evan Weaver]
file Manifest Wed Oct 14 17:36:01 -0700 2009 Manifest. [Evan Weaver]
file README
file Rakefile
directory lib/
directory test/
README
thrift_client

A Thrift client wrapper that encapsulates some common failover behavior.

== License

Copyright 2009 Twitter, Inc. See included LICENSE file.

The public certificate for this gem is 
here[http://rubyforge.org/frs/download.php/25331/evan_weaver-original-public_cert.pem].

== Features

* Transparent connection management
* Configurable failover and retry backoff
* Ruby 1.9 compatibility

The Github source repository is {here}[http://github.com/fauna/thrift_client/]. Patches and contributions are very 
welcome.

== Usage

Instantiate a client:

  client = ThriftClient.new(CassandraRb::Client, '127.0.0.1:9160', :retries => 2)

You can then make calls to the server via the <tt>client</tt> instance as if was your internal Thrift client. The 
connection will be opened lazily and methods will be proxied through.

  client.get_string_list_property("keyspaces")
  
On failures, the client will try the remaining servers in the list before giving up. See ThriftClient for more.

== Installation

You need Ruby 1.8 or 1.9. If you have those, just run:

  sudo gem install thrift_client

== Reporting problems

The Github issue tracker is {here}[http://github.com/fauna/thrift_client/issues].