Redis-搭建简单集群

主从复制,读写分离

一般读的操作都在从机,写的操作在主机,

info replication 查看当前库的信息

最少要一主二从,后台文件都需要改需要三个配置文件,三个端口,dump文件要改,日志文件现在不能为空了,需要对应,pidfile文件需要修改。设置79,80,81三台服务器

默认情况下,每个redis服务器都是主机,我们一般只需要配置从机就行了。

所以我们现在配置后面两台80,81

slaveof 127.0.0.1 6379 这就配置好了一台从机,另一台也这么配置
此时我们去主机看一下
info replication
这种配置是暂时的,永久配置要去修改配置文件

文件配置主从

配置文件下有replication这一部分

主机可以写,从机只能读不能写。主机中的所有信息都会被从机复制保存

自己测试一下,在主机和从机读和写会报什么错误

当我们没有配置哨兵的时候,如果主机宕机了,默认情况下,从机还是依然是连接到主机的,但是因为主机断了,没有办法写入了,只能读,不会自动成为一个主机。如果主机重新连接回来,我们还是可以拿到主机新加的数据。这在一定程度维护了高可用

如果使用命令行配置的主从,如果重启就会变为主机,若变成从机,就会立刻从主机中获取值

复制原理

全量复制,在第一次连接主机的时候,会把所有的数据都复制过来

增量复制,在连接过程中,主机新增了数据,那么会把新的数据复制过来。

如果主机断开连接,我们可以使用下面的命令使自己变成主机,其他的节点就可以手动连接过来,但是注意,都是手动改的 
slaveof no one

哨兵模式

哨兵模式是主从里非常重要的

自动选择主机的模式,其实上面的手动改主机就是哨兵模式的原理

只有一个哨兵,可能存在问题,所以一般是采用多哨兵模式

主观下线,客观下线

在多哨兵的情况下,如果有一个哨兵检测到主机不可用,那么不会马上进行投票重新选主机,只有当达到多个哨兵都检测到主机不可用,才会发起投票,重新选择主机

哨兵配置文件,sentinel.conf

sentinel monitor myredis 127.0.0.1 6379 1
#sentinel monitor 被监控的名字,随意填 主机地址 端口 1,表示启动投票
这是最最基本的配置

哨兵这里有一个投票的算法

优点:

1哨兵集群,基于主从复制的模式,所有主从的优点,他都有

2主从可以切换,故障可以转移,系统的可用性更好

3哨兵就是主从的升级,从手动到自动

缺点:

1redis不好在线扩容,集群容量一旦达到上限就很麻烦

2实现哨兵模式是很麻烦的,里面有很多选择,上面只是最最基本的

看看哨兵模式的全部配置

原文地址:https://www.cnblogs.com/chiyun/p/14082141.html