一、集群作用
分散单台服务器的访问压力,实现负载均衡;
分散单台服务器的存储压力,实现可扩展性;
降低单台服务器宕机带来的业务灾难;
二、数据存储设计
1、通过算法设计,计算出key应该保存的位置;
2、将所有的存储空间计划切割成16384份,每台主机保存一部分,每份代表的是一个存储空间,不是一个key的保存空间;
3、将key按照计算结果放到对应的存储空间;
内部通讯设计:
三、搭建与启动
1、添加配置
cluster-enabled yes //启动cluster
cluster-config-file nodes-端口号.conf //设置启动配置文件
cluster-node-timeout <milliseconds> //设置超时时间
cluster-migration-barrier <count> //master连接的slave最小数量
2、启动服务
3、启动cluster
1:表示master和slave的比例
后面开始是所有的master,之后是所有的slave
4、客户端连接
redis-cli -c -p 端口号
//-c为了自动槽的重定向
四、主从下线、主从交换
1、从下线后,重新连接还是从
2、主下线后,重新连接从变成了主,主是新的从