Reprint please indicate the source ha: http://carlosfu.iteye.com/blog/2254154
Because the speech time is limited, about Redis-cluster, the speaker did not do too many introductions, simply introduced some redis-cluster concept function and encountered two problems, we in Redis-cluster also has many operation and maintenance experience, the future article will introduce.
But the speaker repeatedly stressed, do not listen to the online redis-cluster of the slander (practical knowledge), for this I very much agree, we from Redis-cluster beta version rc1~4 To the present 3.0-release have not encountered any big problem (on-line maintenance of 600 instances).
First, Redis-cluster
Detailed introduction of the Redis-cluster there is a lot here to say, you can refer to:
1. Redis-cluster Research and use
2. Redis Cluster 3.0.5 Cluster Practice
3. Introduction of some redis-cluster of this blog (not update completed)
4. Redis design and implementation that book (Author: Huang Jianhong): Very recommended to read this book.
In summary redis-cluster is a decentralized, distributed Redis storage architecture that addresses the issues of high availability and scalability of Redis.
Two, two questions:
1. Redis-cluster Master and Slave nodes do not deploy on the same machine
(1) In our experience, the Redis instance itself is basically not hanging off, usually the machine is out of order (power outage, machine failure), even the rack, the cabinet out of the problem, resulting in redis hanging off.
(2) If the master and slave of the Redis-cluster is on a machine, then if the machine hangs, the master and slave are all hung off, high availability can not be achieved. (If full converage=true, it means the entire cluster is hung up)
(3) usually a pair of master-slave machine: not across the room, to cross the rack, can be in a cabinet.
2. Redis-cluster false node fail to switch
(1) Redis-cluster is a non-central architecture, Judge node failure is through the way of arbitration (gossip and raft), that is, most nodes think a node hangs, will do fail judgment.
(2) If a node is performing a heavy operation (Flushall, slaveof, and so on) (the Redis client connection may be blocked for a short time (Redis single thread)) or because of network reasons, causing other nodes to think it is dead, will do a fail decision.
(3) Redis-cluster provides cluster-node-timeout this parameter (default 15 seconds), as the fail basis (if more than 15 seconds or no response, it is considered to be dead), Refer to this article specifically: Redis-cluster's failover failure Case analysis
In our experience, 15 seconds is perfectly enough.
Iii. issues to be introduced in the future:
1. Redis-cluster client implements Mget operation.
2. Redis-cluster--too many Cluster redirections exception.
3. Redis-cluster bottomless pit problem analysis.
4. Two redis-cluster clusters, meet the consequences of operational problems.
5. Full Converage issue with Redis-cluster configuration.
6. Redis-cluster fail-over test.
7. Redis-cluster common operations and maintenance skills.
8. Redis-cluster a button to open.
9. Redis-cluster client Jedis detailed.
Four, with some good information: redis-cluster failover failure Case Analysis redis Cluster migration encountered various pits and solutions redis Cluster Architecture Optimization Redis Common cluster scheme, CODIS practice and comparison with Twemproxy redis cluster architecture optimization "Operation and maintenance practice" fish and paws: what to pay attention to using Redis-cluster. Chemical reactions of docker and Redis cluster (UP) by Mango TV docker and the chemical reaction of redis cluster (bottom) by Mango TV redis cluster Experience--NetEase Youdao & nbsp Redis Cluster analysis and bada comparison Internet Redis application Scenario redis cluster technology and CODIS practice Talk about Twitter's hundred terabyte Redis cache practice hadoop, Spark , HBase and Redis applicability discussion Codis author Huangdongxu The design of distributed Redis architecture and the pits that have been trampled