HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ryanlecompte
redis_failover
Ruby2012–2012
ryanlecompte / redis_failover

redis_failover

redis_failover is a ZooKeeper-based automatic master/slave failover solution for Ruby.

2Distinct people
3Mentions
0Explicit recommenders
534GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

redis_failover is a ZooKeeper-based automatic master/slave failover solution for Ruby.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 8:59:20 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week3 dated mentions

Observed mentions: 2012-04-12 06:44:12 UTC to 2012-10-12 15:46:36 UTC. Weeks start Monday, UTC.

012012-04-09 00:00:00 UTC to 2012-04-16 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsApr 92012-04-16 00:00:00 UTC to 2012-04-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-04-23 00:00:00 UTC to 2012-04-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-04-30 00:00:00 UTC to 2012-05-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-05-07 00:00:00 UTC to 2012-05-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-05-14 00:00:00 UTC to 2012-05-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-05-21 00:00:00 UTC to 2012-05-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-05-28 00:00:00 UTC to 2012-06-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-06-04 00:00:00 UTC to 2012-06-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-06-11 00:00:00 UTC to 2012-06-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-06-18 00:00:00 UTC to 2012-06-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-06-25 00:00:00 UTC to 2012-07-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-07-02 00:00:00 UTC to 2012-07-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-07-09 00:00:00 UTC to 2012-07-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJul 92012-07-16 00:00:00 UTC to 2012-07-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-07-23 00:00:00 UTC to 2012-07-30 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2012-07-30 00:00:00 UTC to 2012-08-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-08-06 00:00:00 UTC to 2012-08-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-08-13 00:00:00 UTC to 2012-08-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-08-20 00:00:00 UTC to 2012-08-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-08-27 00:00:00 UTC to 2012-09-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-09-03 00:00:00 UTC to 2012-09-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-09-10 00:00:00 UTC to 2012-09-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-09-17 00:00:00 UTC to 2012-09-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-09-24 00:00:00 UTC to 2012-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-10-01 00:00:00 UTC to 2012-10-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-10-08 00:00:00 UTC to 2012-10-15 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsOct 8

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Apr 92012-04-09 00:00:00 UTC2012-04-16 00:00:00 UTC110
Apr 162012-04-16 00:00:00 UTC2012-04-23 00:00:00 UTC000
Apr 232012-04-23 00:00:00 UTC2012-04-30 00:00:00 UTC000
Apr 302012-04-30 00:00:00 UTC2012-05-07 00:00:00 UTC000
May 72012-05-07 00:00:00 UTC2012-05-14 00:00:00 UTC000
May 142012-05-14 00:00:00 UTC2012-05-21 00:00:00 UTC000
May 212012-05-21 00:00:00 UTC2012-05-28 00:00:00 UTC000
May 282012-05-28 00:00:00 UTC2012-06-04 00:00:00 UTC000
Jun 42012-06-04 00:00:00 UTC2012-06-11 00:00:00 UTC000
Jun 112012-06-11 00:00:00 UTC2012-06-18 00:00:00 UTC000
Jun 182012-06-18 00:00:00 UTC2012-06-25 00:00:00 UTC000
Jun 252012-06-25 00:00:00 UTC2012-07-02 00:00:00 UTC000
Jul 22012-07-02 00:00:00 UTC2012-07-09 00:00:00 UTC000
Jul 92012-07-09 00:00:00 UTC2012-07-16 00:00:00 UTC000
Jul 162012-07-16 00:00:00 UTC2012-07-23 00:00:00 UTC000
Jul 232012-07-23 00:00:00 UTC2012-07-30 00:00:00 UTC101
Jul 302012-07-30 00:00:00 UTC2012-08-06 00:00:00 UTC000
Aug 62012-08-06 00:00:00 UTC2012-08-13 00:00:00 UTC000
Aug 132012-08-13 00:00:00 UTC2012-08-20 00:00:00 UTC000
Aug 202012-08-20 00:00:00 UTC2012-08-27 00:00:00 UTC000
Aug 272012-08-27 00:00:00 UTC2012-09-03 00:00:00 UTC000
Sep 32012-09-03 00:00:00 UTC2012-09-10 00:00:00 UTC000
Sep 102012-09-10 00:00:00 UTC2012-09-17 00:00:00 UTC000
Sep 172012-09-17 00:00:00 UTC2012-09-24 00:00:00 UTC000
Sep 242012-09-24 00:00:00 UTC2012-10-01 00:00:00 UTC000
Oct 12012-10-01 00:00:00 UTC2012-10-08 00:00:00 UTC000
Oct 82012-10-08 00:00:00 UTC2012-10-15 00:00:00 UTC110

What Hacker News says

1 sources

Automatic Redis Failover for Ruby

I just released redis_failover, a new Ruby gem that provides automatic Redis failover support for Ruby. From the project README: Redis Failover attempts to provides a full automatic master/slave failover solution for Ruby. Redis does not provide an automatic failover capability when configured for master/slave replication. When the master node dies, a new master must be manually brought online and assigned as the slave's new master. This manual switch-over is not desirable in high traffic sites where Redis is a critical part of the overall architecture. The existing standard Redis client for Ruby also only supports configuration for a single Redis server. When using master/slave replication, it is desirable to have all writes go to the master, and all reads go to one of the N configured slaves. This gem attempts to address both the server
Read the rest
and client problems. A redis failover server runs as a background daemon and monitors all of your configured master/slave nodes. When the server starts up, it automatically discovers who is the master and who are the slaves. Watchers are setup for each of the redis nodes. As soon as a node is detected as being offline, it will be moved to an "unreachable" state. If the node that went offline was the master, then one of the slaves will be promoted as the new master. All existing slaves will be automatically reconfigured to point to the new master for replication. All nodes marked as unreachable will be periodically checked to see if they have been brought back online. If so, the newly reachable nodes will be configured as slaves and brought back into the list of live servers. Note that detection of a node going down should be nearly instantaneous, since the mechanism used to keep tabs on a node is via a blocking Redis BLPOP call (no polling). This call fails nearly immediately when the node actually goes offline. This gem provides a RedisFailover::Client wrapper that is master/slave aware. The client is configured with a single host/port pair that points to redis failover server. The client will automatically connect to the server to find out the current state of the world (i.e., who's the current master and who are the current slaves). The client also acts as a load balancer in that it will automatically dispatch Redis read operations to one of N slaves, and Redis write operations to the master. If it fails to communicate with any node, it will go back and ask the server for the current list of available servers, and then optionally retry the operation.
29 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.