Redis Sentinel Mode with Two Masters and Two Slaves

Redis is a popular open-source in-memory data structure store. It is often used as a database, cache, and message broker. Redis Sentinel is a high availability solution that provides monitoring, notification, and automatic failover for Redis instances. In this article, we will explore how to set up a Redis Sentinel configuration with two masters and two slaves.

Redis Sentinel Architecture

In a Redis Sentinel setup, multiple Sentinel processes monitor the Redis servers and perform automatic failover when a master node is unavailable. The Sentinel processes communicate with each other to reach a consensus on the state of the Redis servers.

In a setup with two masters and two slaves, each master node will have two slave nodes for replication. This configuration provides redundancy and fault tolerance, ensuring that the system remains available even if one master node fails.

Setting up Redis Sentinel with Two Masters and Two Slaves

To set up Redis Sentinel with two masters and two slaves, you will need to configure the Redis instances and Sentinel processes on each server. Here is an example configuration:

Master 1

  • IP: 192.168.1.1
  • Port: 6379

Slave 1

  • IP: 192.168.1.2
  • Port: 6380
  • Master: 192.168.1.1:6379

Master 2

  • IP: 192.168.1.3
  • Port: 6379

Slave 2

  • IP: 192.168.1.4
  • Port: 6380
  • Master: 192.168.1.3:6379

Redis Configuration

| Role   | IP           | Port | Master           |
|--------|--------------|------|------------------|
| Master | 192.168.1.1  | 6379 | -                |
| Slave  | 192.168.1.2  | 6380 | 192.168.1.1:6379 |
| Master | 192.168.1.3  | 6379 | -                |
| Slave  | 192.168.1.4  | 6380 | 192.168.1.3:6379 |

Sentinel Configuration

sentinel monitor mymaster 192.168.1.1 6379 2
sentinel down-after-milliseconds mymaster 60000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

In this configuration, each Sentinel process monitors the master nodes and triggers a failover if necessary. The down-after-milliseconds parameter sets the time threshold for considering a master node as unreachable. The failover-timeout parameter defines the time limit for completing a failover operation.

Monitoring the Redis Sentinel Setup

To monitor the Redis Sentinel setup, you can use the redis-cli tool or a monitoring dashboard. You can check the status of the Sentinel processes and the Redis instances to ensure that all nodes are running smoothly.

Here is a pie chart showing the distribution of Redis servers in the setup:

pie
    title Distribution of Redis Servers
    "Master 1" : 25
    "Slave 1" : 25
    "Master 2" : 25
    "Slave 2" : 25

Conclusion

In this article, we have discussed how to set up a Redis Sentinel configuration with two masters and two slaves. This configuration provides high availability and fault tolerance for Redis instances, ensuring that your system remains operational even in the event of a node failure. By following the guidelines outlined in this article, you can create a resilient Redis setup that meets the needs of your application.