Redis 集群搭建以及高可用性实现(含集成到springboot项目)

发布于:2025-04-21 ⋅ 阅读:(43) ⋅ 点赞:(0)

一、实验目的

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. 归纳总结实验中涉及的知识点;
  2. 实验过程中出现了哪些问题、如何解决的;

四、实验操作:

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是否可用

五、实验难点:

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


网站公告

今日签到

点亮在社区的每一天
去签到