How Redis Achieves High Availability: A Story of Replication and Failover
This article narrates how Redis, personified as a character, synchronizes data between master and slave nodes through command propagation, adopts improved sync strategies, and uses Sentinel's INFO and PING checks to detect failures and automatically trigger failover, illustrating a practical high‑availability cache service.
I am Redis , created by a man named Antirez .
In our daily work, the three of us mainly cooperate on data synchronization.
When the master node receives write, delete, or modify commands, it notifies each slave node one by one – this is called command propagation .
Through this method, the master and slave nodes keep their data in sync.
Once I accidentally got disconnected.
We adopted a new data‑sync strategy that greatly improved efficiency, allowing us to quickly recover any missing data even after occasional disconnections.
Later we added more manpower and prepared for a big push.
To promptly obtain and update master‑slave information, Sentinel queries the master with the INFO command every ten seconds; the master replies with its list of slaves.
To detect whether any node is down, Sentinel sends a PING command to each peer every second.
If no reply is received within the configured time, we assume the node has failed and initiate a failover, after confirming with the admin group.
We then started the first election.
After some effort, the failover completed and R2 became the new master.
Shortly after, R1 returned.
Thus, through our teamwork, we built a high‑availability cache service that even MySQL can no longer underestimate.
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.
macrozheng
Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.
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.
