一、实验目的
1)掌握Redis的基本用法;
2)掌握Redis 主从复制集群的构建;
3)掌握Redis 高可用集群的构建;
二、实验内容
1、在Docker中构建一个 1主2从的Redis主从复制集,并完成测试。
2、在Docker中构建一个Redis高可用集群, 并完成测试。
3、新建一个 spring boot 项目,在项目中连接操作一个单节点 Redis。
4、新建一个 spring boot 项目,在项目中连接操作一个 Redis 高可用集群。
说明:spring boot 项目只需实现一个简单 controller,能够实现增删改查即可。
三、实验要求
记录实验过程完成实验内容,在实验报告中给出相应的搭建过程、配置文件和项目源码。
建议重点记录和描述以下方面的内容:
- 归纳总结实验中涉及的知识点;
- 实验过程中出现了哪些问题、如何解决的;
四、实验操作:
1、在Docker中构建一个 1主2从的Redis主从复制集,并完成测试。
首先创建网络,便于容器间通信

然后创建一主两从的三个Redis容器

查看从节点信息进行验证
验证是否主从同步


2、在Docker中构建一个Redis高可用集群, 并完成测试。
要实现高可用集群,首先至少要创建三个哨兵Redis容器,方便投票选主
我们先在本地编写好配置文件:
port 26379
sentinel monitor mymaster 172.19.0.2 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1
需要修改端口号,三个哨兵节点的端口号分别为,26379,26380,26381
然后挂载有配置文件的目录,启动三个容器:


可以从下图中看到三个哨兵节点也加入到了redis-net的网络中

接着我们进行测试,我们先停掉主节点来模拟主节点宕机

我们发现已经选举出了新的主节点,并从哨兵的返回中可以看到返回的ip和端口号,然后我们重启原来的主节点来查看器状态:

可以看到其已经变成了从节点
3、新建一个 spring boot 项目,在项目中连接操作一个单节点 Redis。
接着我们来集成到springboot项目中


我们启动项目后来进行接口测试:





4、新建一个 spring boot 项目,在项目中连接操作一个 Redis 高可用集群。
然后我们新建一个springboot项目来集成高可用性的redis集群:




然后我们执行build命令将程序封装为镜像:

接着构建一个容器:

然后我们调试接口:

然后我们停掉redis-slave2(第一次模拟宕机后选举出的主节点)来模拟宕机:

接着我们再次调用测试接口,来看看redis是否可用

五、实验难点:


解决方法参考博客:博客链接

6584

被折叠的 条评论
为什么被折叠?



