最近,我学习了Redis Sentinel模式。观看视频还不够。您需要自己做才能加深图像。
由于我没有真正的服务器可以操作,因此在虚拟机上启动了三个REDIS服务,该机器分别占据了端口7001、7002和7003。
重新下载并安装它而无需重复,只需在此处记录配置即可。
首先在TMP目录中创建3个文件夹:
然后将redis配置文件redis.conf复制到刚创建的三个文件夹
然后修改这3个配置文件
查找端口,REDIS默认端口为6379,在这里将端口更改为7001、7002和7003
然后修改保存DIR,REDIS耐用文件的路径,并分别更改为相应的路径
然后注释绑定并修改保护模式为否
REDIS默认不允许远程连接,修改这两种配置使我们可以远程连接
最后,将replica -noundce -ip#{ip}添加到配置文件的第一行
注意:这里#{ip}填写您的IP地址
由于REDIS安装在虚拟机中,因此将有多个IP。这里
更改了3个配置文件后,CD到相应的目录开始启动Redis
所有3个服务开始后,REDIS连接7002
输入命令,从集群中构建所有者,然后使7002成为7001的节点
注意:这里#{ip}填写您的IP地址
以同样的方式,7003也是这样运行的,因此主节点是7002和7003是7001、7002和7003的主要群集模式。
应当指出,重新启动后,以命令形式构建的主要群集将无效。如果您想长时间停留,则可以在配置文件中进行配置。
上述操作完成后,在TMP目录中创建3个新文件夹
CD到S1目录,创建文件Sentinel.conf,也可以从Redis目录复制此文件。
编写文件配置
注意:这里#{ip}填写您的IP地址
然后将Sentinel.conf文件使用到S2和S3路径,只需将端口和DIR作为相应的配置修改
然后在各自的道路下开始3个哨兵
由于之前已经对7001关闭服务进行了测试,因此哨兵会自动将主节点切换为7002。如果首次启动它,则日志和屏幕截图将略有不同。
设置哨兵模式后,此模式集成在Java侧
pom.xml可以引入最基本的依赖项
application.xml
注意:这里#{ip}填写您的IP地址
在配置类中注入Bean,以实现Redis读取和写作的分离。当从Redis读取配置数据时,请从节点读取
编写测试接口
启动Springboot,调用SET接口
查看redis
7002主节点是值得的,并且从节点也与数据同步
然后调用获取界面
数据也已成功获得
最后,测试哨兵会自动切换主节点,这里是7002 redis
然后检查27002 Sentinel打印的日志
看到关闭7002的redis之后,哨兵会自动将主节点切换到7001的redis
现在开始7002 redis
查看哨兵27001的日志
可以发现7002是从您自己的节点添加到您自己的
从那时起,简单的Redis Sentinel模式的构造已经完成
原始:https://juejin.cn/post/7098596198390431775