集群(cluster):是指同一种组件的多个实例,形成的逻辑上的整体
Redis 集群(cluster)
多个Redis 实例,组成的一个完整的Redis 数据系统。
Redis集群的可用性时如何实现的?
分区
Redis集群如果不要从服务器,在其中一个节点故障时,会丢失数据吗?
我的理解:会,但是故障前的数据可以用RDB或者AOF持久化保存,如果能拿到文件,那么就可以恢复。
举例:假如有3个节点m1,m2,m3,都是主服务器。那么,由于Redis集群的自动分区,有些keys会落到m1上,当m1故障时,落在m1上的keys就都会失效。
Redis集群≠必须有主从Redis
虽然通常用了集群,一般会配置主从。
提问:假如A,B,C三个节点的集群,每个节点都有一个从节点,那么当A和A的从节点A1都故障后,整个redis集群还可以使用吗?不考虑数据丢失。
不可以,redis集群是一个整体,当有三个主节点时,必须三个主节点都能正常服务,整个集群系统才能顺利运行。(已经自己测试过。)
Redis 集群不保证主节点和从节点的数据的强一致性
第一个原因是因为集群是用了异步复制
必须在性能和一致性之间做出权衡