[发明专利]Redis集群系统及其提高可靠性的方法、客户端在审
申请号: | 201610798570.9 | 申请日: | 2016-08-31 |
公开(公告)号: | CN107800551A | 公开(公告)日: | 2018-03-13 |
发明(设计)人: | 高静 | 申请(专利权)人: | 北京优朋普乐科技有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/08 |
代理公司: | 北京恒都律师事务所11395 | 代理人: | 王清亮 |
地址: | 100123 北京市朝阳区高碑店*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | redis 集群 系统 及其 提高 可靠性 方法 客户端 | ||
技术领域
本申请涉及Redis集群技术领域,特别地,涉及一种Redis集群系统及其提高可靠性的方法、客户端。
背景技术
Redis集群(Redis Cluster)是一种通过在服务端将Redis数据进行分片,并按一定的散列算法(可以为Hash算法或其他散列方法)将Redis数据的键值(Key)合理分配到不同的Redis服务节点的方案。
在Redis集群中,对于分片采用槽(Slot)的方式进行管理,一共分为16384个槽,对于进入Redis的每个键值对,根据键值进行散列,分配到上述16384个槽的某一个中。Redis集群中的每个节点(Node)负责分摊16384个槽中的一部分,当动态增加或减少节点时,需要将16384个槽进行重新分配,每个槽对应的键值也需要迁移。在Redis集群中,需要保证16384个槽对应的节点都能正常工作,如果某个节点发生故障,其对应的槽也会失效,整个集群将不能工作。为了增加集群的可靠性,将各服务节点配置成主从结构(Master/Slave),如图1所示,每组服务节点包括一个主节点(Master节点)和一个或多个从节点(Slave节点),当主节点失效时,会根据预设算法选举一个从节点作为主节点,从而使整个集群能够继续对客户端提供服务。
在图1所示的P2P集群方案中,没有设置中心节点,主节点之间采用两两通信的模式,可以通过gossip协议发现新增加或退出的节点,进而实现系统的动态扩容或缩容,只要客户端能连接到集群中的其中一个节点就能获取其他节点信息。但是,一组服务节点中的主节点及其从节点同时故障时,仍然会造成整个集群不可用的问题。
发明内容
本申请提供一种Redis集群系统及其提高可靠性的方法、客户端,用于解决现有集群技术无法避免一组节点同时出现故障导致整个集群不可用的问题。
本申请公开的一种Redis集群提高可靠性的方法,所述Redis集群系统包括Redis服务组、冗余节点组和集群控制模块,所述方法的执行主体为集群控制模块,所述方法包括:采集所述Redis服务组的状态;判断所述Redis服务组的节点数量是否减少;若是,从冗余节点组选择冗余节点补充到所述Redis服务组。
优选的,所述方法还包括:判断所述Redis服务组的节点数量是否增加;若是,将所述Redis服务组的冗余节点回收到冗余节点组。
优选的,所述Redis服务组的数量为2个以上;所述方法还包括:根据Redis服务组的数量建立集群槽位与Redis服务组之间的映射关系;其中,客户端向所述集群控制模块发起查询请求时获取所述映射关系,并根据所述映射关系以及键值对应的集群槽位,获取Redis服务组的地址。
优选的,还包括:根据冗余节点组中节点的数量,对Redis集群进行缩容或扩容;根据缩容或扩容后的Redis服务组的数量重新建立集群槽位与Redis服务组之间的映射关系。
优选的,Redis服务组的配置原则是同一个服务组内的节点之间的物理位置尽量不同;所述物理位置包括机房位置和/或机架位置;Redis服务组的节点选取原则为:优先选择位于不同机房的节点,其次选择位于相同机房不同机架的节点;将所述Redis服务组的冗余节点回收到冗余节点组时的节点选取原则为:选择物理位置与主节点最近的从节点作为冗余节点。
优选的,从冗余节点组选择冗余节点补充到所述Redis服务组,具体包括:当所述Redis服务组中剩余节点数量为1时,从冗余节点组中选择1个节点作为该Redis服务组的从节点;当Redis服务组中剩余节点数量为0时,从冗余节点组中选择2个节点分别作为该Redis服务组的主节点和从节点,并恢复Redis集群为正常状态。
本申请公开的一种Redis集群系统提高可靠性的装置,所述Redis集群系统包括Redis服务组、冗余节点组和集群控制模块,在集群控制模块侧,所述装置包括:状态采集单元,用于采集所述Redis服务组的状态;节点分配单元,用于判断所述Redis服务组的节点数量是否减少;若是,从冗余节点组选择冗余节点补充到所述Redis服务组。
优选的,还包括:节点回收单元,用于判断所述Redis服务组的节点数量是否增加;若是,将所述Redis服务组的冗余节点回收到冗余节点组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京优朋普乐科技有限公司,未经北京优朋普乐科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610798570.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:策略执行方法和编排器
- 下一篇:一种数据交互方法及装置