Redis Q&A

Question: What if my Redis Server goes down? Is that a single point of failure?

Answer: Yes. Fortunately, you can set up Redis with high availability, see Redis Configuration.

Question: How often does Redis fail?

Answer: Cherwell tests have not experienced an unstable Redis. Failures are usually due to hardware problems, with the following exceptions:

  • If enough memory is not allocated to the Redis process. When Redis starts requesting more memory than the system can allocate, it fails.
  • If too much memory is pre-allocated to Redis, and the OS does not have any memory left for itself.

Question: How many sentinels should I install, and where?

Answer: A common approach is to install a sentinel for each Redis Server running. For example, if there are one master and two replicas, then have three sentinels.

Question: How does a sentinel work?

Answer: A sentinel pings the master server at regular intervals, and if it does not receive an answer within a certain amount of time (configurable in the settings), it evaluates the possibility of promoting a replica to master. A single sentinel does not necessarily have the authority to switch a master to a replica, because there might be other sentinels that disagree with it. For the master to actually be swapped with a replica, a minimum number of sentinels (configurable) called quorum, need to agree that the master is down. That means that based on your particular setup, you might have to change the default quorum number, as well as the master timeout interval.

Question: Can Redis Servers be deployed in multiple geographic locations?

Answer: No, all Redis Servers should be together on the same LAN as the application servers in the Cherwell server farm due to latency sensitivity.

Question: What is the minimum line speed and latency required for Redis?

Answer: At least 1 GbE with latencies below 3 milliseconds between the Redis Servers and the application servers. Today's Enterprise networks are usually 10 GbE or better, which is more desirable.