title: Redis sentinel vs clustering
body: <p>I understand redis sentinel is a way of configuring HA (high availability) among multiple redis instances. As I see, there is one redis instance actively serving the client requests at any given time. There are two additional servers are on standby (waiting for a failure to happen, so one of them can be in action again). </p>
  
  <ul>
  <li>Is it waste of resources? </li>
  <li>Is there a better way of using full use of the resources available?</li>
  <li>Is Redis clustering an alternative to Redis sentinel?</li>
  </ul>
  
  <p>I already looked up redis documentation for <a href="http://redis.io/topics/sentinel" rel="noreferrer">sentinel</a> and <a href="http://redis.io/topics/cluster-tutorial" rel="noreferrer">clustering</a>, can somebody having experience explain please.</p>
  
  <p><img src="https://i.stack.imgur.com/Citcm.png" alt="Master slave configuration in Redis sentinel - before failure"></p>
  
  <p><img src="https://i.stack.imgur.com/CHHzq.png" alt="Master fails and slave kicks in to action"></p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>OK. In my real deployment scenario I have two servers dedicated for redis. I have another server my Jboss server is running. The application running in Jboss is configured to connect to redis master server(M). </p>
  
  <p><em>Failover scenario</em></p>
  
  <p>Ideally, I think when Master cache server fails (either Redis process goes down or machine failure) the application in Jboss needs to connect to Slave cache server. How would I configure the redis servers to achieve this? </p>
  
  <pre><code>+--------+          +--------+
  | Master  |---------| Slave  |
  |         |         |        |
  +--------+          +--------+
  
  Configuration: quorum = 1
  </code></pre>