Lnmp架构-Redis

网站:www.redis.cn

redis 部署

make的时候需要gcc和make  如果在纯净的环境下需要执行此命令

[root@server3 redis-6.2.4]# yum install make gcc -y
 

注释一下这几行

vim /etc/redis/6739.conf

2.Redis主从复制

设置 11 是master 12 13 是slave

在12 上

其他节点以此内推

此时在 11 master 上

slave 角色只能读 没有修改的权限

当在master上

在slave会实现同步

redis高可用 

redis 主从切换

redis 主从原理:基于rdb 快照实现 它和MySQL的二进制日志的差别(数据类型不同)

在执行主从的时候:slave和master要先做一个认证 发起一个同步请求,master会执行一个bgsave(异步模式)/save(阻塞模式),异步模式的时候,bgsave会做一个rdb快照,然后把rdb快照发给slave,slave会做一个动作,清掉slave端所有的数据(flushall),然后slave会再次加载快照,

快照做完之后,还会有变更数据,所以放在缓存里面,然后接下来会用replicationfeedslave()增量函数 一条一条发给slave,然后再给slave端做同步 redis主从基于rdb快照格式出现

redis 主从基于快照rdb快照格式实现

一主多从的架构中 做高可用切换 redis 里自带

2 表示的意思:怎么判断master出故障呢,必须要两个节点说master出故障了 才能发起故障切换

当第一个节点发现master出现故障 会进入一种主观下线状态

当第二个节点发现master出现故障 会再次进入一种主观下线状态

两次的主观下线会触发一次客观下线,这个时候master会开始真正进行主从切换

三个节点就设置为2 两个节点就设置为1

拷贝文件的动作 一定要在启动之前

其它主机直接启动服务,无需更改配置文件

这就是哨兵模式

此时 在开一个终端11 11 此时是master

关闭master

redis集群 会自动切换master

当原来的master再次启动后,会以slave身份加入集群

在切换的时候可能会出现的问题

客户端到master没什么问题,master 到slave端的网络如果出现故障

这个时候就会把master踢出去 选举出新的master  slave接上去

当网络又正常 原来的master 会同步当前集群的配置 把自己变成slave 接入到新的master 这样的话 原来的master上所有数据都会丢失

但是 客户端到master是好的 这个时候 客户端会持续往master里写数据 客户一直在写 但是master到slave出现故障 master就会变为slave 数据就会被清掉

怎么解决呢

必需保证后端有两个slave可以写

添加 min-slave-to-write=2 到配置文件

保证在主从切换的时候 客户端不要给master里面写  如果master发现都连不上两个slave 就不要往里面写入数据了 避免数据丢失

Redis集群

无中心化设计 每个节点都可以接入集群 不管是主从 都可以进行读写 在接入集群之后都可以做调度 做重定向 但是 它的整合度太高了 二次开发成本太高

会在当前的目录里 生成对应的配置文件和数据

这样就创建好了一个集群

查看命令帮助

redis-cli --help

获取集群状态

主从关系的详细信息

redis-cli --cluster 实际就是把总共16384个哈希槽 ,均摊到这三个master 进行存储 每个节点都会分得一定比例的哈希槽,哈希槽就是存数据用的

连接集群

关闭redis实例,集群自动切换

30002的 master 关闭  30005之前是slave 就会接管变成master

此时 数据就会在30005上 数据不会丢失

以上就是 redis 内置的高可用切换

如果再把脚本启动起来 这时候 刚才关闭的30002 就会被再次拉起来

拉起来之后 30002 就是slave

此时 互换了角色

设么么时候会导致这个进群节点不可用

1 这16384这些哈希槽如果不完整集群不可用 

2.同一这个集群的半数master同时挂掉

再启动两个redis实例

ps ax

在线添加集群节点

新添加的节点没有hash槽,角色时是master

添加slave节点

重新迁移hash槽

 删除哪个节点的时候

就得把这个节点上的哈希槽迁徙到别的机器上

要不然就会造成哈希槽不完整 集群就会shutdown

猜你喜欢

转载自blog.csdn.net/weixin_59945551/article/details/132585774
今日推荐