Redis Sentinel vs Cluster: Choosing the Right High‑Availability Architecture
This guide compares Redis Sentinel and Redis Cluster deployment modes, detailing architecture diagrams, performance benchmarks, configuration steps, operational trade‑offs, and selection criteria to help engineers decide the optimal high‑availability solution for their workloads.
Introduction
In large distributed systems, Redis is a core caching and data store component; its high‑availability deployment directly impacts system stability. This article compares Redis Sentinel and Redis Cluster from an operations perspective to aid architecture selection.
Why a single‑instance Redis is insufficient
Redis outage alarms at 3 am
Memory shortage during traffic spikes causing cascade failures
Data loss leading to urgent calls from management
The root causes are single‑point failure risk and capacity bottlenecks, which both Sentinel and Cluster aim to solve.
Architecture Overview
Sentinel Mode
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Sentinel │ │ Sentinel │ │ Sentinel │
│ (26379) │ │ (26379) │ │ (26379) │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└─────────────────┼─────────────────┘
│
┌─────────────────────┼─────────────────────┐
│ │ │
┌───▼────┐ ┌────▼────┐ ┌────▼────┐
│ Master │◄─────────►│ Slave 1 │◄─────────►│ Slave 2 │
│ (6379) │ │ (6379) │ │ (6379) │
└────────┘ └─────────┘ └─────────┘Cluster Mode
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Node 1 │ │ Node 2 │ │ Node 3 │
│ Master:0-5460│ │Master:5461-│ │Master:10923-│
│ + Slave │ │ 10922 +Slave│ │ 16383+Slave│
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└─────────────────┼─────────────────┘
│
Redis Cluster Bus (16379)Technical Feature Comparison
Data distribution : Sentinel uses full replication; Cluster uses sharding with 16384 slots.
Failover : Sentinel automatically elects a new master; Cluster selects a master via node voting.
Scaling : Sentinel mainly vertical scaling; Cluster supports horizontal scaling.
Client complexity : Sentinel moderate (must handle master‑slave switch); Cluster higher (requires slot routing).
Operational complexity : Sentinel low; Cluster high.
Performance ceiling : Sentinel limited by single‑node capacity; Cluster can scale linearly.
Deployment Walkthrough – Sentinel
Master‑Slave Configuration
# Basic configuration
port 6379
bind 0.0.0.0
daemonize yes
pidfile /var/run/redis_6379.pid
# Persistence
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /data/redis/
# AOF
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
# Security
requirepass your_strong_password
masterauth your_strong_password
# Memory
maxmemory 2gb
maxmemory-policy allkeys-lruSlave configuration adds slaveof 192.168.1.10 6379, slave-read-only yes and slave-priority 90.
Sentinel Configuration
port 26379
daemonize yes
pidfile /var/run/redis-sentinel.pid
logfile /var/log/redis/sentinel.log
# Monitor master
sentinel monitor mymaster 192.168.1.10 6379 2
sentinel auth-pass mymaster your_strong_password
# Failover settings
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel parallel-syncs mymaster 1
# Notification script (optional)
sentinel notification-script mymaster /opt/redis/notify.shStartup Script
#!/bin/bash
redis-server /etc/redis/redis-master.conf
redis-server /etc/redis/redis-slave1.conf
redis-server /etc/redis/redis-slave2.conf
sleep 3
redis-sentinel /etc/redis/sentinel1.conf
redis-sentinel /etc/redis/sentinel2.conf
redis-sentinel /etc/redis/sentinel3.conf
echo "Redis Sentinel cluster started"Deployment Walkthrough – Cluster
Node Configuration
port 7000
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000
cluster-require-full-coverage no
bind 0.0.0.0
daemonize yes
pidfile /var/run/redis_7000.pid
logfile /var/log/redis/redis-7000.log
# Persistence
appendonly yes
save 900 1
save 300 10
save 60 10000Cluster Initialization Script
#!/bin/bash
CLUSTER_NODES="192.168.1.10:7000 192.168.1.11:7000 192.168.1.12:7000"
for port in $(seq 7000 7005); do
mkdir -p /data/redis-cluster/${port}
cp redis-cluster.conf /data/redis-cluster/${port}/redis.conf
sed -i "s/7000/${port}/g" /data/redis-cluster/${port}/redis.conf
cd /data/redis-cluster/${port}
redis-server redis.conf
done
sleep 5
redis-cli --cluster create \
192.168.1.10:7000 192.168.1.10:7001 192.168.1.10:7002 \
192.168.1.11:7000 192.168.1.11:7001 192.168.1.11:7002 \
--cluster-replicas 1Performance Test Comparison
Sentinel Mode
# SET test
redis-benchmark -h 192.168.1.10 -p 6379 -t set -n 100000 -c 50
43290.04 requests per second
# GET test
redis-benchmark -h 192.168.1.10 -p 6379 -t get -n 100000 -c 50
52910.05 requests per secondCluster Mode
# SET test
redis-benchmark -h 192.168.1.10 -p 7000 -t set -n 100000 -c 50 --cluster
68965.52 requests per second
# GET test
redis-benchmark -h 192.168.1.10 -p 7000 -t get -n 100000 -c 50 --cluster
98039.22 requests per secondCluster mode improves write throughput by ~59 % and read throughput by ~85 %; advantages grow as more nodes are added.
Operational Experience
Sentinel Pros
Easy deployment : few config files, clear startup flow.
Ops‑friendly : simpler troubleshooting, clear logs.
Client compatibility : most Redis clients support it natively.
Common pitfalls include split‑brain, data loss during failover, and false alarms; solutions involve proper quorum, replication parameters, and timeout tuning.
Cluster Pros
Strong horizontal scalability : can grow to thousands of nodes.
No single point of failure : decentralized architecture.
Automatic sharding : load balanced across slots.
Typical issues are slot migration failures, cluster split‑brain, and cross‑slot command errors; addressed with redis-cli --cluster fix, appropriate cluster-require-full-coverage, and hash tags.
Selection Decision Framework
When to Choose Sentinel
Data size < 50 GB
QPS < 100 k
Small ops team
High consistency requirement
Low migration cost
Cost rating: low across hardware, operations, and development.
When to Choose Cluster
Data size > 100 GB
QPS > 500 k
Need horizontal scaling
Strong ops expertise
New project architecture
Cost rating: higher hardware and ops investment but superior scalability.
Conclusion
Understanding the trade‑offs between Redis Sentinel and Redis Cluster enables engineers to select the most suitable high‑availability architecture for their specific workload and team capabilities.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Ops Community
A leading IT operations community where professionals share and grow together.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
