I just released the big 1.0 release of redis_failover. redis_failover is a ZooKeeper-based automatic master/slave failover solution for Redis. Big changes in this release include:<div><ul style="margin:15px 0px;padding:0px 0px 0px 30px;border:0px;color:rgb(51,51,51);font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:14px;line-height:22px">
<li style="margin:0px;padding:0px;border:0px">redis_failover now supports distributed monitoring among the Node Managers! Previously, the Node Managers were only used as a means of redundancy in case a particular node manager crashed. Starting with version 1.0 of redis_failover, the Node Managers will all periodically report their health report/snapshots. The primary Node Manager will utilize a configurable "node strategy" to determine if a particular node is available or unavailable.</li>
<li style="margin:0px;padding:0px;border:0px">redis_failover now supports a configurable "failover strategy" that's consulted when performing a failover. Currently, a single strategy is provided that takes into account the average latency of the last health check to the redis server.</li>
<li style="margin:0px;padding:0px;border:0px">Improved handling of underlying ZK client connection in RedisFailover::NodeManager</li><li style="margin:0px;padding:0px;border:0px">Add support for passing in an existing ZK client instance to RedisFailover::Cient.new</li>
<li style="margin:0px;padding:0px;border:0px">Reduce unnecessary writes to ZK</li></ul><div><br></div><div><a href="https://github.com/ryanlecompte/redis_failover">https://github.com/ryanlecompte/redis_failover</a></div></div>
<div><br></div><div>Thanks,</div><div>Ryan</div><div><br></div>