Redis Sentinel – हाई अवेलेबिलिटी सिस्टम (हिंदी में)
Redis Sentinel, Redis का एक इन-बिल्ट High Availability (HA) फीचर है जिसका काम Redis सर्वर को मॉनिटर करना, फेलियर को डिटेक्ट करना और ऑटोमैटिक फ़ेलओवर करना है। अगर Redis master सर्वर डाउन हो जाए, तो Sentinel अपने-आप किसी replica को नया master बना देता है।
Redis Sentinel क्या है?
Redis Sentinel एक distributed सिस्टम है जो Redis को reliable और always-available बनाता है। इसके चार मुख्य काम हैं:
- Monitoring: Redis master और replica सर्वरों की हेल्थ चेक करता है।
- Failure Detection: पता लगाता है कि master डाउन है या नहीं।
- Automatic Failover: master डाउन होने पर replica को नया master बना देता है।
- Configuration Provider: क्लाइंट्स को हमेशा सही master बताता है।
Redis Sentinel आर्किटेक्चर (Diagram)
Redis Sentinel Cluster
-------------------------------------
+-----------------+
| Sentinel #1 |
+-----------------+
|
+-----------------+
| Sentinel #2 |
+-----------------+
|
+-----------------+
| Sentinel #3 |
+-----------------+
|
------------------------------------------
|
+-----------------+
| Redis Master |
+-----------------+
/ \
+---------------+ +---------------+
| Redis Replica | | Redis Replica |
+---------------+ +---------------+
Redis Sentinel का उपयोग क्यों करें?
- Redis को High Availability बनाता है।
- Master fail होने पर automatic recovery हो जाती है।
- Clients हमेशा सही master से कनेक्ट रहते हैं।
- कोई extra software की जरूरत नहीं—यह Redis में ही इन-बिल्ट है।
Redis Sentinel Configuration Example
sentinel.conf
port 26379
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1
कैसे काम करता है? (Simple Flow)
- Redis का master और replicas चल रहे होते हैं।
- 3+ Sentinel nodes उन्हें मॉनिटर करते हैं।
- Master fail हो जाए → Sentinels वोट करते हैं।
- एक replica को नया master घोषित किया जाता है।
- Clients को नया master बता दिया जाता है।
Redis Sentinel कब इस्तेमाल करें?
- जब आपको Redis का High Availability चाहिए
- जब sharding की जरूरत नहीं
- जब simple और lightweight setup चाहिए
Redis Sentinel कब न इस्तेमाल करें?
- अगर horizontal sharding चाहिए → Redis Cluster यूज़ करें
- अगर dataset बहुत बड़ा है जो एक सर्वर में फिट नहीं हो सकता
Failover Testing
Master को बंद करते ही Sentinel उसे detect कर लेता है और नया master चुन लेता है:
docker stop redis-master
Sentinel logs में दिखाई देगा:
+failover-state-select-slave
+switch-master mymaster 127.0.0.1 6379 127.0.0.1 6380
निष्कर्ष
Redis Sentinel, Redis को production-ready और highly available बनाने के लिए सबसे आसान और विश्वसनीय तरीका है। यह आपके सिस्टम को बिना downtime के लगातार चलने में मदद करता है।