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 20:04:42 -0700 2009
commit  a0cc0b6cbe4c2d750a6859dc49c148c3dadb54cd
tree    003ab49962c2168af6f9175d5518508728040781
parent  acc21497604bcea8e435637dfd090a674c3bc399
name age message
file CHANGELOG Loading commit data...
file LICENSE
file Manifest
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].