概述
文章目录
- 简介
- Redis集群结构设计
- cluster集群结构搭建
- 搭建方式
- Cluster配置
- 使用redis-trib.rb将所有的节点连接创建集群
- 设置与获取数据
- 主从下线与主从切换
简介
集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果。
简单的来说,之前是单master多从,现在是多master多从,且master之间相互关联,分摊负载。
集群作用
- 分散单台服务器的访问压力,实现负载均衡
- 分散单台服务器的存储压力,实现可扩展性
- 降低单台服务器宕机带来的业务灾难
Redis集群结构设计
- 通过一定算法,计算出key应该保存的位置
- 将所有的存储空间计划切割成16384份,每台主机保存一部分每份代表的是一个存储空间,不是一个key的保存空间,这块空间一般称为槽(slot)
- 将key按照计算出的结果放到对应的存储空间
如下,某一个key通过一定算法获得一个值最后%16384得到37,然后将该值存入到37这块空间内
可扩展性
当增加机器时,其他Redis将一部分槽转移至新增的机器中,当减少机器时,将机器中的槽转移到其它机器里。
集群内部通讯设计
- 各个数据库相互通信,保存各个库中槽的编号数据(该编号不是连续的)
- 当获取一个key时,会选择其中一个redis,假如正好在该服务器中,直接取出
- 当不在该服务器中时,会查询保存在库中的编号数据去寻找正确的服务器。
cluster集群结构搭建
搭建方式
- 原生安装(单条命令)
- 配置服务器
- 建立通信(Meet)
- 分槽(Slot)
- 搭建主从(master-slave)
- 工具安装(批处理)
Cluster配置
在对应的redis.conf文件中进行配置
- 添加集群节点
cluster-enabled yes
- 每个cluster配置文件名,该文件属于自动生成,仅用于快速查找文件并查询文件内容
cluster-config-file <filename>
- 节点服务响应超时时间,用于判定该节点是否下线或切换为从节点
cluster-node-timeout <milliseconds>
- master连接的slave最小数量
cluster-migration-barrier <count>
将配置文件复制成诺干份(集群中节点数量),修改对应的ip与端口号
使用redis-trib.rb将所有的节点连接创建集群
./redis-trib.rb create --replicas 1 ip1:port1 ... ipn:portn
解释下这个命令。关于replicas后面跟着的数字表示一个maste对应几个slave,现在为1,假如后面一共6对ip:port,则前三个为master,后三个对应为前三个的salve;假如为2,后面有9对ip:port,则前三个为master,后6个对应为前三个master的salve,每个master对应2个slave。
配置完之后可以查看cluster-config-file文件中内容。
设置与获取数据
启动客户端时需要加上参数 -c,不然无法正常的设置和获取数据。
redis-cli -c
主从下线与主从切换
可参照哨兵章节的内容。
最后
以上就是大气太阳为你收集整理的Redis学习笔记——集群(cluster)的全部内容,希望文章能够帮你解决Redis学习笔记——集群(cluster)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复