Home  >  Article  >  Database  >  The difference between redis cluster and sentinel

The difference between redis cluster and sentinel

(*-*)浩
(*-*)浩Original
2019-06-17 15:49:3826337browse

What is the difference between redis cluster and sentinel?

The difference between redis cluster and sentinel

The role of the sentinel is to monitor the running status of the Redis system. Its functions include the following two. (Recommended learning: Redis Video Tutorial)

Monitor whether the master database and slave database are running normally.

When the primary database fails, it will automatically convert from the secondary database to the primary database.

After sentinel finds that the master has died, it will re-elect a master from the slave.

Sentinel mode emphasizes high availability

The Sentinel system is used to manage multiple Redis servers (instances). The system performs the following three tasks:

Monitoring (Monitoring ): Sentinel will constantly check whether your master server and slave server are functioning properly.

Notification: When a problem occurs on a monitored Redis server, Sentinel can send notifications to the administrator or other applications through the API.

Automatic failover: When a master server fails to work properly, Sentinel will start an automatic failover operation. It will upgrade one of the slave servers of the failed master server to the new master server. And let other slave servers of the failed master server change to replicate the new master server; when the client tries to connect to the failed master server, the cluster will also return the address of the new master server to the client, so that the cluster can use the new master server to replace the failed master server. server.

The client will not record the redis address (a certain IP), but the sentinel address, so that we can obtain the redis address directly from sentinel, because sentinel will monitor all masters and slaves. , it knows who is the real master. For example, when we failover, for sentinel, the master has changed, and then notifies the client. The client does not need to care about who is the real master at all, it only cares about the master informed by sentinel.

Cluster

Even if sentinel is used, each redis instance is fully stored, and the content stored in each redis is complete data, which is a waste of memory and has Barrel effect. In order to maximize the use of memory, clusters can be used, which is distributed storage. That is, each redis stores different content, with a total of 16384 slots. Each redis is allocated some slots, hash_slot = crc16(key) mod 16384 to find the corresponding slot, the key is an available key, if there are {}, take the one within {} as the available key, otherwise the entire key is an available key

The cluster requires at least 3 masters and 3 slaves, and each instance uses a different configuration file. The master and slaves do not need to be configured, the cluster will choose itself.

cluster is to solve the problem of limited capacity of single-machine Redis and distribute data to multiple machines according to certain rules.

Cluster mode improves concurrency.

For more Redis-related technical articles, please visit the Redis database usage tutorial column to learn!

The above is the detailed content of The difference between redis cluster and sentinel. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:How to use zset in redisNext article:How to use zset in redis