[发明专利]Redis集群创建方法、系统及装置有效
申请号: | 202010293491.9 | 申请日: | 2020-04-15 |
公开(公告)号: | CN112416847B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 赵雪松 | 申请(专利权)人: | 上海哔哩哔哩科技有限公司 |
主分类号: | G06F15/16 | 分类号: | G06F15/16;H04L67/10 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 邓小玲 |
地址: | 200433 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | redis 集群 创建 方法 系统 装置 | ||
本申请公开了一种Redis集群创建方法,该方法包括:预先演算所述Redis集群中每个节点的主从和槽位关系;根据所述预先演算的演算结果生成Redis集群配置文件;发布所述Redis集群配置文件并启动每个节点,以使每个节点根据所述Redis集群配置文件获取对应的角色和槽位信息并完成角色设置;获取每个节点的节点路由信息,并确定每个节点的节点路由信息一致,以完成所述Redis集群的创建。本申请还公开了一种Redis集群创建系统和装置。由此,能够使每个Redis节点同时模拟宕机恢复得到一个完整的集群,快速完成Redis集群的创建过程。
技术领域
本申请涉及Redis集群技术领域,尤其涉及一种Redis集群创建方法、系统及装置。
背景技术
当前,许多公司都会使用远程字典服务(Remote Dictionary Server,Redis)缓存组件来充当缓存层。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。但是,单节点的Redis不足以承载大部分公司的数据量,且单点风险过高。因此大家普遍采用Redis 3.0之后提供的集群功能来保证其高可用性。所谓Redis集群,就是通过添加Redis节点的数量,提供相同的服务,从而达到一个稳定、高效的状态。
现有Redis集群创建的过程,实质上是一个依次选举的过程。首先准备N个节点,然后让其中随机一个节点发起选举,并宣称自己所负责的槽位列表。待到超过半数以上的主节点回复同意之后,则该节点将自己提升成主节点。再重复以上步骤,直到所有的槽位都被分配完毕,并且将提前准备好的从节点依次连接上自己的主节点。
然而,发明人发现现有技术至少存在如下问题:目前Redis集群创建速度非常慢。典型的400个节点的集群,传统的创建方式耗时甚至达到30分钟以上。当网络状况不好的时候,它的表现甚至更差。
创建Redis集群最大的困难其实就在上述选举过程,整个过程是一个一个依次执行的,不能并发执行。并且因为Redis选举的时候采用的是Gossip协议,其协议本身需要收敛时间,而且受网络波动干扰较大,常常发生选举失败重试。另外,为了进行选举退避,当选举失败的时候选举者会随机休眠一段时间,这样一来创建集群速度更慢了。
需要说明的是,上述内容并不用于限制申请保护范围。
发明内容
本申请的主要目的在于提出一种Redis集群创建方法、系统及装置,旨在解决如何快速完成Redis集群创建过程的问题。
为实现上述目的,本申请实施例提供了一种Redis集群创建方法,所述方法包括:
预先演算所述Redis集群中每个节点的主从和槽位关系;
根据所述预先演算的演算结果生成Redis集群配置文件;
发布所述Redis集群配置文件并启动每个节点,以使每个节点根据所述Redis集群配置文件获取对应的角色和槽位信息并完成角色设置;及
获取每个节点的节点路由信息,并确定每个节点的节点路由信息一致,以完成所述Redis集群的创建。
可选地,所述方法在确定每个节点的节点路由信息一致后还包括:
检查所创建的Redis集群中每个节点的主从关系是否符合所述演算结果;
当存在不符合所述演算结果的节点时,通过主动选举的方式进行纠正,使每个节点的主从关系均符合所述演算结果。
可选地,所述Redis集群配置文件包括所述Redis集群的拓扑、角色、槽位、纪元信息。
可选地,所述节点路由信息为每个节点中记录的主从关系和槽位信息。
可选地,所述通过主动选举的方式进行纠正包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海哔哩哔哩科技有限公司,未经上海哔哩哔哩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010293491.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:图像渲染方法及装置
- 下一篇:一种耐老化尼龙改性弹性体及其制备方法