【技术实现步骤摘要】
一种Redis主从架构的高可用解决方法及装置
[0001]本申请涉及网络安全
,尤其涉及一种Redis主从架构的高可用解决方法及装置。
技术介绍
[0002]Redis(Remote Dictionary Server)是一款开源的高性能的NoSQL数据库,它可以用作数据库、缓存和消息队列。为了满足开发市场需求,Redis支持单机、主从、哨兵、集群多种架构模式。
[0003]其中,主从架构主要应用于高并发场景,但现有的主从架构模式下的故障转移方案不适用于小型项目,采用现有的故障转移方案无法做到在一主一从两个节点之间自动切换以转移故障、无法对并发数据进行有效处理继而实现高可用。
技术实现思路
[0004]本申请实施例提供了一种Redis主从架构的高可用解决方法及装置。所述技术方案如下:第一方面,本申请实施例提供了一种Redis主从架构的高可用解决方法,所述方法应用于由第一服务器与第二服务器构成的Redis集群,所述第一服务器与所述第二服务器内均安装有Nginx组件,默认所述第一服务器对应的节点为Redis集群初始主节点,所述第二服务器对应的节点为Redis集群初始从节点,其中:所述第一服务器启动定时任务执行如下操作:步骤S1:执行第一脚本,判断所述Redis集群初始主节点的服务状态是否正常,若服务状态正常,则查询所述Redis集群初始主节点的当前身份,若当前身份为主节点,执行步骤S2,若服务状态异常,执行步骤S3;步骤S2:判断所述Redis集群初始主节点下是否存在Redis集群从节点,若 ...
【技术保护点】
【技术特征摘要】
1.一种Redis主从架构的高可用解决方法,其特征在于,所述方法应用于由第一服务器与第二服务器构成的Redis集群,所述第一服务器与所述第二服务器内均安装有Nginx组件,默认所述第一服务器对应的节点为Redis集群初始主节点,所述第二服务器对应的节点为Redis集群初始从节点,其中:所述第一服务器启动定时任务执行如下操作:步骤S1:执行第一脚本,判断所述Redis集群初始主节点的服务状态是否正常,若服务状态正常,则查询所述Redis集群初始主节点的当前身份,若当前身份为主节点,执行步骤S2,若服务状态异常,执行步骤S3;步骤S2:判断所述Redis集群初始主节点下是否存在Redis集群从节点,若不存在,则判断所述第二服务器的Redis服务是否正常,若Redis服务正常,设置所述第二服务器在Redis集群中的身份为从节点,将所述第二服务器的Redis数据同步给所述Redis集群初始主节点,所述第一脚本执行完成;步骤S3:获取所述Redis集群初始主节点的重试次数,判断所述重试次数是否已达到目标次数,若已达到目标次数,则将所述重试次数更新为零,并判断所述第二服务器的Redis服务是否正常,若Redis服务正常,则将所述第二服务器对应的节点切换为新的主节点,将本机Nginx组件配置的数据转发地址修改为所述新的主节点的地址,所述第一脚本执行完成;所述第二服务器启动定时任务执行如下步骤:步骤S1
’
:执行第二脚本,判断所述Redis集群初始主节点的服务状态是否正常,若服务状态正常,则查询所述Redis集群初始主节点的当前身份,若当前身份为主节点,执行步骤S2
’
,若服务状态异常,执行步骤S3
’
;步骤S2
’
:判断所述Redis集群初始主节点下是否存在Redis集群从节点,若不存在,则判断本机Redis服务是否正常,若Redis服务正常,则设置本机在Redis集群中的身份为从节点,将本机Redis数据同步给所述Redis集群初始主节点,所述第二脚本执行完成;步骤S3
’
:获取所述Redis集群初始主节点的重试次数,判断所述重试次数是否已达到目标次数,若已达到目标次数,则将所述重试次数更新为零,并判断本机Redis服务是否正常,若Redis服务正常,则将本机对应的节点切换为新的主节点,将本机Nginx组件配置的数据转发地址修改为所述新主节点的地址,所述第二脚本执行完成。2.根据权利要求1所述的方法,其特征在于,所述步骤S1中,若所述Redis集群初始主节点的当前身份为从节点,则执行步骤S4:将所述Redis集群初始主节点的当前身份修改为主节点,将所述第二服务器的Redis数据同步给所述Redis集群初始主节点,将本机Nginx 组件配置的数据转发地址修改为所述Redis集群初始主节点的地址,所述第一脚本执行完成;所述步骤S1
’
中,若所述Redis集群初始主节点的当前身份为从节点,则执行步骤S4
’
:将所述Redis集群初始主节点的当前身份修改为主节点,将本机Nginx组件配置的数据转发地址修改为所述Redis集群初始主节点的地址,所述第二脚本执行完成。3.根据权利要求1所述的方法,其特征在于,所述步骤S2中,若所述Redis集群初始主节点下存在Redis集群从节点,则执行步骤S5:提示所述Redis集群初始主节点的服务状态正常,并判断本机Nginx组件配置的数据转
发地址是否为所述Redis集群初始主节点的地址,若是,第一脚本执行完成,若否,则将所述数据转发地址修改为所述Redis集群初始主节点的地址,所述第一脚本执行完成;所述步骤S2
’
中,若所述Redis集群初始主节点下存在Redis集群从节点,则执行步骤S5
’
:提示所述Redis集群初始主节点的服务状态正常,并判断本机Nginx组件配置的数据转发地址是否为所述Redis集群初始主节点的地址,若是,第二脚本执行完成,若否,则将所述数据转发地址修改为所述Redis集群初始主节点的地址,所述第二脚本执行完成。4.根据权利要求3所述的方法,其特征在于,所述步骤S5
’
中,将所述数据转发地址修改为所述Redis集群初始主节点的地址之后,还包括:关闭所述Redis集群从节点的服务,并在关闭时长达到第一预设时长时重启所述Redis集群从节点的服务。5.根据权利要求1所述的方法,其特征在于,所述步骤S2还包括:若判断所述第二服务器的Redis服务异常,则远程登录所述第二服务器的Redis服务并对所述第二服务器的Redis服务进行重启,并在重启后将所述第二服务器的Redis数据同步给所述Redis集群初始主节点,所述第一脚本执行完成;所述步骤S2
’
还包括:若判断本机Redis服务异常,则对本机Redis服务进行重启并提示,将本机Redis数据同步给所述Redis集群初始主节点,所述第二脚本执行完成。6.根据权利要求1所述的方法,其特征在于,所述步骤S3还包括:若所述重...
【专利技术属性】
技术研发人员:田步明,陆舟,
申请(专利权)人:飞天诚信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。