一种云平台上redis服务可指定从节点切换为主节点的方法技术

技术编号:28632061 阅读:27 留言:0更新日期:2021-05-28 16:29
本发明专利技术提供了一种云平台上redis服务可指定从节点切换为主节点的方法,S1、用户指定要切换的从节点;S2、获取该从节点的IP信息;S3、分别向N个redis从节点下发role命令;S4、判断是否为选中的从节点,如果是则进行步骤S5,否则进行步骤S6;S5、判断slave‑priority属性是否为0,为0则将slave‑priority的值设为1,不为0则不做处理。本发明专利技术有益效果:通过用户在云平台redis服务页面选择的要进行主从切换的从节点信息,得到待升级成主节点的从节点信息,进而把其他从节点的slave‑priority属性设置成0,在调用哨兵的强制故障转移命令时,只有用户指定的从节点参与候选新的主节点,进而完成了用户自由指定切换redis从节点成主节点的需求。

【技术实现步骤摘要】
一种云平台上redis服务可指定从节点切换为主节点的方法
本专利技术属于数据管理
,尤其是涉及一种云平台上redis服务可指定从节点切换为主节点的方法。
技术介绍
Redis基于哨兵的主从架构,一般采用经典的一主两从三哨兵的模式,不限于两个从节点和三个哨兵节点,哨兵用于监控着redis服务的各主从节点,当主节点发生故障时哨兵可以完成自动故障转移,使用者也可以进行手动的故障切换,但是手动通过命令切换主从,使用者对在切换前不知道那个从节点可以成为新的主节点;Master节点用于提供使用者读写服务,是使用者使用redis服务的入口;Slave节点用于同步复制Master节点的数据,当Master节点出现故障时Slave节点会切换成新的Master节点。
技术实现思路
有鉴于此,本专利技术旨在提出一种云平台上redis服务可指定从节点切换为主节点的方法,以解决上述问题中的不足之处。为达到上述目的,本专利技术的技术方案是这样实现的:一种云平台上redis服务可指定从节点切换为主节点的方法,包括以下步骤:S1、用户指定要切换的从节点;S2、获取该从节点的IP信息;S3、分别向N个redis从节点下发role命令;S4、判断是否为选中的从节点,如果是则进行步骤S5,否则进行步骤S6;S5、判断slave-priority属性是否为0,为0则将slave-priority的值设为1,不为0则不做处理;S6、从各redis从节点中执行[configsetslave-priority0]命令;S7、在哨兵节点中执行[sentinelfailover<mastername>],完成主备强制切换。进一步的,在步骤S1中,用户可在云平台的redis服务的页面指定某个从节点进行主备切换。进一步的,在步骤S2中,用户在页面获取到该从节点的IP信息。进一步的,在步骤S3中,将IP信息下发到各个从节点,并执行redis的role命令,得到当前节点的的ip信息。进一步的,在步骤S5中,判断步骤S4中得到ip是否为从节点ip,如果是则判断slave-priority属性是否为0,如果是为0则将其设置成1,如果ip不是从节点IP则将该从节点的slave-priority属性设置成0,使其不能成为信息的主节点。进一步的,在步骤S7中,在哨兵中执行[sentinelfailover<mastername>]操作,会手动强制进行主从切换,salve-priority为0的从节点不参与候选新的主节点。相对于现有技术,本专利技术所述的一种云平台上redis服务可指定从节点切换为主节点的方法具有以下有益效果:(1)本专利技术所述的一种云平台上redis服务可指定从节点切换为主节点的方法通过用户在云平台redis服务页面选择的要进行主从切换的从节点信息,得到待升级成主节点的从节点信息,进而把其他从节点的slave-priority属性设置成0,在调用哨兵的强制故障转移命令时,只有用户指定的从节点参与候选新的主节点,进而完成了用户自由指定切换redis从节点成主节点的需求;(2)本专利技术所述的一种云平台上redis服务可指定从节点切换为主节点的方法,用户可通过页面自主选择进行主从切换的从节点;(3)本专利技术所述的一种云平台上redis服务可指定从节点切换为主节点的方法通过对比用户选择的从节点ip把非选中的从节点的slave-priority设置成0,使其不参与下次failover的候选,即成为不了新的master节点。附图说明构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例所述的一种云平台上redis服务可指定从节点切换为主节点的方法方案架构图示意图;图2为本专利技术实施例所述的目前现有的Redis基于哨兵的主从架构示意图。具体实施方式需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。如图1所示,一种云平台上redis服务可指定从节点切换为主节点的方法,其特征在于,包括以下步骤:S1、用户指定要切换的从节点;S2、获取该从节点的IP信息;S3、分别向N个redis从节点下发role命令;S4、判断是否为选中的从节点,如果是则进行步骤S5,否则进行步骤S6;S5、判断slave-priority属性是否为0,为0则将slave-priority的值设为1,不为0则不做处理;S6、从各redis从节点中执行[configsetslave-priority0]命令;S7、在哨兵节点中执行[sentinelfailover<mastername>],完成主备强制切换。在步骤S1中,用户可在云平台的redis服务的页面指定某个从节点进行主备切换。在步骤S2中,用户在页面获取到该从节点的IP信息。在步骤S3中,将IP信息下发到各个从节点,并执行redis的role命令,得到当前节点的的ip信息。在步骤S5中,判断步骤S4中得到ip是否为从节点ip,如果是则判断slave-priority属性是否为0,如果是为0则将其设置成1,如果ip不是从节点IP则将该从节点的slave-priority属性设置成0,使其不能成为信息的主节点。在步骤S7中,在哨兵中执行[sentinelfailover<mastername>]操作,会手动强制进行主从切换,salve-priority为0的从节点不参与候选新的主节点。在具体实施过程中,目前现有的Redis基于哨兵的主从架构,一般采用经典的一主两从三哨兵的模式不限于两个从节点和三个哨兵节点,具体架构图如图2所示,通过实施本申请的技术方案用户通过在云平台redis服务页面选择的要进行主从切换的从节点信息,得到待升级成主节点的从节点信息,进而把其他从节点的slave-priority属性设置成0,在调用哨兵的强制故障转移命令时,只有用户指定的从节点参与候选新的主节点,进而完成了用户自由指定切换redis从节点成主节点的需求。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本专利技术的范围。在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所述单元的本文档来自技高网...

【技术保护点】
1.一种云平台上redis服务可指定从节点切换为主节点的方法,其特征在于,包括以下步骤:/nS1、用户指定要切换的从节点;/nS2、获取该从节点的IP信息;/nS3、分别向N个redis从节点下发role命令;/nS4、判断是否为选中的从节点,如果是则进行步骤S5,否则进行步骤S6;/nS5、判断slave-priority属性是否为0,为0则将slave-priority的值设为1,不为0则不做处理;/nS6、从各redis从节点中执行[config set slave-priority 0]命令;/nS7、在哨兵节点中执行[sentinel failover<mastername>],完成主备强制切换。/n

【技术特征摘要】
1.一种云平台上redis服务可指定从节点切换为主节点的方法,其特征在于,包括以下步骤:
S1、用户指定要切换的从节点;
S2、获取该从节点的IP信息;
S3、分别向N个redis从节点下发role命令;
S4、判断是否为选中的从节点,如果是则进行步骤S5,否则进行步骤S6;
S5、判断slave-priority属性是否为0,为0则将slave-priority的值设为1,不为0则不做处理;
S6、从各redis从节点中执行[configsetslave-priority0]命令;
S7、在哨兵节点中执行[sentinelfailover<mastername>],完成主备强制切换。


2.根据权利要求1所述的一种云平台上redis服务可指定从节点切换为主节点的方法,其特征在于:在步骤S1中,用户可在云平台的redis服务的页面指定某个从节点进行主备切换。


3.根据权利要求1所述的一种云平台上redis服务可指定从节点切换为主节点的方法...

【专利技术属性】
技术研发人员:王爽
申请(专利权)人:紫光云技术有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1