(十二)Redis数据库-Redis高可用方案,主从复制、Sentinel 哨兵、redis-cluster集群、codis集群对比
我的系统版本为CentOS7.5,redis版本5.0.4
首先单一的redis节点提供服务,如果节点故障或者数据丢失将造成很严重的后果。其次随着请求量和数据量的增加单一节点不能提供足够的服务能力,这时需要选择主从或者集群。主从模式可以实现读写分离比较适合读远大于写的应用。另外主从也解决了单一节点故障后的数据丢失等问题,主从复制中通过Sentinel 哨兵机制,当主节点宕机后,可以自动选举新的主节点,无需人为参与提供不间断的服务。但主从方式水平扩展能力有限,如果数据量或者请求量非常大就需要选择集群模式。redis-cluster是redis官方提供的集群解决方案,后续支持比较有保障。codis是豌豆荚团队开发的redis集群方案,目前站比较大的市场。
主从复制
安装:
http://www.redis.cn/topics/replication.html
特点:
-
一个master可以拥有多个slave
-
多个slave链接同一个master,也可以链接其它slave
-
主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
-
slave 配置为slave-read-only on需要升级为主节点或者写入配置文件中, 而不能在默认slave情况下直接设置master与slave断开后会检测心跳, 从新建立连接
-
可以直接copy DUMP文件从新重启master,在Master为空以后,slave