Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

What is the difference between redis server, redis-sentinel and redis?


Asked by Jayson Palacios on Dec 10, 2021 Redis



redis-server is the Redis Server itself. redis-sentinel is the Redis Sentinel executable (monitoring and failover). redis-cli is the command line interface utility to talk with Redis. redis-benchmark is used to check Redis performances.
In addition,
Simply, application clients connect to the Sentinels and Sentinels provide the latest Redis MASTER address to them. Furthermore, Sentinel is a robust distributed system, where multiple sentinels need to agree to about the fact a given master is no longer available. Then only the failover process starts a select a new MASTER node.
Additionally, A Redis client supporting Sentinel can automatically discover the address of a Redis master from the master name using Redis Sentinel. So instead of a hard coded IP address and port, a client supporting Sentinel should optionally be able to take as input: A list of ip:port pairs pointing to known Sentinel instances.
And,
A pod of Sentinels can monitor multiple Redis master & slave nodes. Just make sure you don't mix up names, add slaves to the right master and so on. Full documentation for Sentinel. If we go by first commit , then Cluster is even older than Sentinel, dating back to 2011. There's a bit more info in antirez' blog .
Likewise,
The quorum value is the number of Sentinels that need to agree about the fact the master is not reachable. However the quorum is only used to detect the failure. In order to actually perform a failover, one of the Sentinels need to be elected leader for the failover and be authorized to proceed.