集群
- 概念:集群就是使用网络将若干台计算机联通起来,并提供统一管理方式,使其对外呈现单机的服务效果
- 作用
- 分散单台服务器的访问压力,实现负载均衡
- 分散单台服务器的存储压力,实现可扩展性
- 降低单台服务器宕机带来的业务灾难
- 数据存储设计
- 通过算法设计,计算出key应该保存的位置
- 将所有的存储空间计划切割成16384份(槽),每台主机保存一部分,每份代表一个存储空间,不是一个key的保存空间
- 将key按照计算出来的结果放到对应的存储空间
- 好处是增强了可扩展性,加一台机器,只需要把对应的槽从每台机器拉出来,放入新机器即可
- 内部通讯设计
- 各个数据库相互通信,保存各个库中槽的编号(维护一个内存表的既视感)
- 一次命中,直接返回
- 一次未命中,告知具体位置(最多需要两次)
cluster配置
- 设置加入cluster,成为其中的节点
cluster-enable yes|not
- cluster配置文件名,该文件数据自动生成,仅用于快速查找文件并查询文件
cluster-config-file <filename>
- 节点服务响应超时时间,用于判定该节点是否下限或切换从节点
cluster-node-timeout <milliseconds>
- master连接的slave最小数量
cluster-migration-barrier <count>
cluster节点命令
- 查看集群节点信息
cluster nodes
- 进入一个丛节点redis,切换其主节点
cluster replicate <master-id>
- 忽略一个没有solt的节点
cluster forget <id>
- 手动故障转移
cluster failover
具体集群建立方式可以看这个https://blog.csdn.net/miss1181248983/article/details/90056960