System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() Redis集群部署方法、装置、存储介质和电子设备制造方法及图纸_技高网

Redis集群部署方法、装置、存储介质和电子设备制造方法及图纸

技术编号:40658465 阅读:3 留言:0更新日期:2024-03-18 18:50
本申请公开了一种Redis集群部署方法、装置、存储介质和电子设备。包括:在第一redis节点开启服务时,获取对应的第一节点信息,并判断该节点是否存储预置的配置文件;若没有则判断该节点所在的第一容器是否为k8s statefulset所管理的第一个容器;若是则获取各个第二redis节点的第二节点信息,并基于第一节点信息和第二节点信息确定redis集群内的k8s节点数量和redis节点数量;依据k8s节点数量和redis节点数量确定部署规则,并按照部署规则对redis集群内的各个节点进行部署。本申请解决了相关技术在部署redis集群时所需k8s节点数量较多,导致资源浪费严重的技术问题。

【技术实现步骤摘要】

本申请涉及网络安全,具体而言,涉及一种redis集群部署方法、装置、存储介质和电子设备。


技术介绍

1、在kubernetes(以下简称k8s)上部署redis容器集群相对于传统主机部署在资源方面更加有弹性,其可以支持对更大规模redis集群的管理。而具体在部署模式方面,redis集群模式中的cluster模式为保证集群的高可用,通常会为每个主节点至少配备一个从节点,故至少需要六个k8s节点来部署六个redis节点(三主三从)。

2、然而,当k8s节点只有三个及以上、六个以下时,若要部署高可用的redis集群,redis集群模式中的哨兵模式是最好的选择,但哨兵模式相对于cluster模式而言,仍存在以下缺点:资源利用率低。每个redis节点上存储的数据都是全量,但只有一个主节点对外提供服务,其他从节点都处于备份状态;同时redis将数据都写在内存中,只有主节点工作,那么从节点上的内存也就造成了浪费,且有木桶效应;无法最大化提升redis性能。因为写操作无法负载均衡,都是在主节点完成,这样就会造成主节点的压力比较大,而从节点几乎没有压力;难以支持在线扩容,在redis群集容量达到上限时在线扩容会变得很复杂。

3、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本申请实施例提供了一种redis集群部署方法、装置、存储介质和电子设备,以至少解决相关技术在部署redis集群时所需k8s节点数量较多,导致资源浪费严重的技术问题。

2、根据本申请实施例的一个方面,提供了一种redis集群部署方法,包括:在第一redis节点开启服务时,获取第一redis节点的第一节点信息,并判断第一redis节点是否存储预置的配置文件,其中,配置文件用于记录第一redis节点所在的redis集群内的其他多个第二redis节点的第二节点信息,节点信息至少包括以下至少之一:ip地址、所在的k8s节点、集群角色;在第一redis节点未存储配置文件时,判断第一redis节点所在的第一容器是否为k8s statefulset所管理的第一个容器;在第一容器为k8sstatefulset所管理的第一个容器时,获取各个第二redis节点的第二节点信息,并基于第一redis节点的第一节点信息和各个第二redis节点的第二节点信息确定redis集群内的k8s节点数量和redis节点数量;依据k8s节点数量和redis节点数量确定部署规则,并按照部署规则对redis集群内的各个节点进行部署。

3、可选地,依据k8s节点数量和redis节点数量确定部署规则,并按照部署规则对redis集群内的各个节点进行部署,包括:在k8s节点数量大于1且小于redis节点数量时,确定部署规则为交叉部署规则,并按照交叉部署规则对redis集群内的各个节点进行部署,其中,交叉部署规则要求每个容器内不同集群角色的redis节点分别部署在不同的k8s节点上,且多个容器集群内的多个相同集群角色的redis节点也分别部署在不同的k8s节点上。

4、可选地,在按照部署规则对redis集群内的各个节点进行部署之后,该方法还包括:由各个第二redis节点的第二节点信息组成配置文件,并将配置文件采用持久卷方式进行存储。

5、可选地,该方法还包括:在第一redis节点存储配置文件时,控制第一redis节点在预设时间段内重新加入redis集群,并获取第一redis节点的当前集群角色;依据第一redis节点的当前集群角色与配置文件内预置的集群角色的匹配结果确定是否对第一redis节点的当前集群角色进行角色切换操作。

6、可选地,集群角色的类型包括:主节点、从节点。

7、可选地,依据第一redis节点的当前集群角色与配置文件内预置的集群角色的匹配结果确定是否对第一redis节点的当前集群角色进行角色切换操作,包括:判断第一redis节点的当前集群角色与配置文件内预置的集群角色是否一致;在第一redis节点的当前集群角色与配置文件内预置的集群角色不一致时,对第一redis节点的当前集群角色进行角色切换操作。

8、可选地,对第一redis节点的当前集群角色进行角色切换操作,包括:在第一redis节点的当前集群角色为从节点时,调用cluster fallover命令将当前集群角色由从节点切换为主节点;在第一redis节点的当前集群角色为主节点时,依据配置文件确定对应的从节点的第一ip地址,并控制redis客户端通过第一ip地址登录从节点,触发当前集群角色由主节点切换为从节点。

9、根据本申请实施例的另一方面,还提供了一种redis集群部署装置,包括:第一判断模块,用于在第一redis节点开启服务时,获取第一redis节点的第一节点信息,并判断第一redis节点是否存储预置的配置文件,其中,配置文件用于记录第一redis节点所在的redis集群内的其他多个第二redis节点的第二节点信息,节点信息至少包括以下至少之一:ip地址、所在的k8s节点、集群角色;第二判断模块,用于在第一redis节点未存储配置文件时,判断第一redis节点所在的第一容器是否为k8s statefulset所管理的第一个容器;确定模块,用于在第一容器为k8s statefulset所管理的第一个容器时,获取各个第二redis节点的第二节点信息,并基于第一redis节点的第一节点信息和各个第二redis节点的第二节点信息确定redis集群内的k8s节点数量和redis节点数量;部署模块,用于依据k8s节点数量和redis节点数量确定部署规则,并按照部署规则对redis集群内的各个节点进行部署。

10、根据本申请实施例的另一方面,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的计算机程序,其中,非易失性存储介质所在设备通过运行该计算机程序执行上述的redis集群部署方法。

11、根据本申请实施例的另一方面,还提供了一种电子设备,该电子设备包括:存储器和处理器,其中,存储器中存储有计算机程序,处理器被配置为通过计算机程序执行上述的redis集群部署方法。

12、在本申请实施例中,在第一redis节点开启服务时,获取第一redis节点的第一节点信息,并判断第一redis节点是否存储预置的配置文件,其中,配置文件用于记录第一redis节点所在的redis集群内的其他多个第二redis节点的第二节点信息,节点信息至少包括以下至少之一:ip地址、所在的k8s节点、集群角色;在第一redis节点未存储配置文件时,判断第一redis节点所在的第一容器是否为k8s statefulset所管理的第一个容器;在第一容器为k8s statefulset所管理的第一个容器时,获取各个第二redis节点的第二节点信息,并基于第一redis节点的第一节点信息和各个第二redis节点的第二节点信息确定redis集群内的k8s节点数量和redis节点数量;依据k8s节点数量和redis节点数量本文档来自技高网...

【技术保护点】

1.一种redis集群部署方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,依据所述k8s节点数量和所述redis节点数量确定按照预设的部署规则对所述redis集群内的各个节点进行部署,包括:

3.根据权利要求1所述的方法,其特征在于,在按照所述部署规则对所述redis集群内的各个节点进行部署之后,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述集群角色的类型包括:主节点、从节点。

6.根据权利要求4所述的方法,其特征在于,依据所述第一redis节点的当前集群角色与所述配置文件内预置的集群角色的匹配结果确定是否对所述第一redis节点的当前集群角色进行角色切换操作,包括:

7.根据权利要求6所述的方法,其特征在于,对所述第一redis节点的当前集群角色进行角色切换操作,包括:

8.一种redis集群部署装置,其特征在于,包括:

9.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有计算机程序,其中,所述非易失性存储介质所在设备通过运行所述计算机程序执行权利要求1至7中任意一项所述的redis集群部署方法。

10.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的redis集群部署方法。

...

【技术特征摘要】

1.一种redis集群部署方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,依据所述k8s节点数量和所述redis节点数量确定按照预设的部署规则对所述redis集群内的各个节点进行部署,包括:

3.根据权利要求1所述的方法,其特征在于,在按照所述部署规则对所述redis集群内的各个节点进行部署之后,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述集群角色的类型包括:主节点、从节点。

6.根据权利要求4所述的方法,其特征在于,依据所述第一redis节点的当前集群角色与所述配置文件内预置的集群角色的匹...

【专利技术属性】
技术研发人员:魏俊峰许婕
申请(专利权)人:中国电信股份有限公司技术创新中心
类型:发明
国别省市:

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

1