宕机后手动配置主机
我们把81作为80的主机。
再查看一下81的信息:
现在它的主机已经不是6379,而是6380了。
我们现在可以看到79端口的服务只有一个从机。
我们可以看到我们的80虽然既有主机又有从机,但是它的权限还是写的是从机。
我们的80依旧是不能写的。
我们可以看到我们80能拿到79写入的信息,81的主机是80,但是80的主机是79,所以81也能拿到79写入的信息。
这个模型叫层层链路,不同于我们之前的那种复制的方式。
但是实际上这两种方式我们都不会去使用。
现在我们把79端口进行关闭:
那么现在我们能不能在80和81端口两个服务中选出一个老大呢?
这就有点谋朝篡位的感觉了。一般在没出现哨兵模式之前,我们都是手动进行完成的。
目前他们两个都是从机。
我们现在就手动把它自己变成老大了。
我们现在再重启6379:
6379是master。
但是能看到我们的6380依旧是老大。
如果这个时候老大回来了,就只能重新连接。
我们再重新让他当小弟就可以了。
现在我们再恢复到6379是主机,其它都是它的从机的一主二从的模式,来学习接下来的哨兵模式,这个是重点。
哨兵模式:
我们去测试一下:
我们现在的状态是一主二从,我们就需要去配置一下我们的哨兵:
创建一个哨兵的文件;
这是我们的一个投票机制,我们去监视6379。
sentinel monitor 被监控的名称 host port 1
后面的这个数字1,代表主机挂了,从机投票看让谁成为主机,票数最多的就会成为主机。
然后我们去启动一下我们的哨兵:
我们可以看到管理我们哨兵的文件。
我们给他设置好值后,然后我们去给它关闭掉。
我的6380变成了主机。
如果master节点断开了,这个时候就会从从机中随机选出来一个。(这里是有一个投票算法)
哨兵模式:
我们现在把6379再连上:
它已经不再是主机了,而是变成了从机。
我们会发现我们的6379服务也变成了80的从机。
如果主机此时回来了,只能归并到新的主机下,当作从机,这就是哨兵模式的规则。
缓存穿透和雪崩:
我们的redis的基本内容就结束啦。