【技术实现步骤摘要】
一种集群的故障切换方法、装置及电子设备
[0001]本申请涉及数据处理
,尤其涉及一种集群的故障切换方法、装置及电子设备。
技术介绍
[0002]集群,能够通过增加服务器的数量,提供相同的服务,从而使服务器达到一个稳定、高效的状态。其中,分布式服务器群,特别是Redis(Remote Dictionary Server)集群,以其具有复制、高可用和分片特性等众多特点广受青睐。
[0003]在实际应用中,Redis等集群常常会面临进行机房(又称数据中心,Data Center)切换或对重要的业务进行多机房容灾的需求。此种情况下,需要在另一个机房对每个主节点再添加一个从节点。这样一来,若集群中有节点发生自动故障切换(Failover),主节点可能被切换至另一个机房,从而导致同一个集群的主节点分布在不同机房。进一步地,在运行过程中,若机房间网络链路出现问题,则会造成脑裂现象,导致数据无法合并。
[0004]相关技术中,集群的故障切换方法尚不完善,为了避免脑裂,通常采用整个集群拒绝服务或者发生脑裂的主节点拒绝写入的方式,或者依赖降级措施。这样一来,势必导致集群的故障切换过程中存在极大降低集群的可用性以及无法从根本上解决脑裂的技术问题。因此,如何提高集群的故障切换过程中的有效性和可靠性,进而在确保集群可用性的同时,从根本上解决脑裂问题,已成为了重要的研究方向之一。
技术实现思路
[0005]本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
[0006]为此,本申请的第一个目 ...
【技术保护点】
【技术特征摘要】
1.一种集群的故障切换方法,其特征在于,适用于从节点,所述方法包括:响应于所述从节点所属的第一主节点处于宕机状态,判断所述从节点和所述第一主节点是否属于同一数据中心;响应于所述从节点和所述第一主节点属于同一数据中心,则发起故障切换选举流程。2.根据权利要求1所述的集群的故障切换方法,其特征在于,所述判断所述从节点和所述第一主节点是否属于同一数据中心,包括:获取所述第一主节点所属数据中心的第一标识;判断所述从节点所属数据中心的第二标识是否与所述第一标识一致;响应于所述第二标识与所述第一标识一致,则判定所述从节点和所述第一主节点属于同一数据中心。3.根据权利要求1所述的集群的故障切换方法,其特征在于,所述发起故障切换选举流程,包括:向多个候选主节点发送故障切换选举请求;接收所述候选主节点基于所述选举请求反馈的应答消息;基于所述应答消息,获取投票数量;响应于所述投票数量大于或者等于预设数量,则切换成主节点。4.根据权利要求1所述的集群的故障切换方法,其特征在于,还包括:响应于所述从节点和所述第一主节点非属于同一数据中心,则等待新的第二主节点发送的通知消息;响应于接收到所述通知消息,切换成所述第二主节点的从节点。5.根据权利要求4所述的集群的故障切换方法,其特征在于,还包括:响应于预设时长内未接收到所述通知消息,则返回执行所述判断所述从节点和所述第一主节点是否属于同一数据中心。6.一种集群的故障切换方法,其特征在于,适用于主节点,所述方法包括:接收从节点发送的故障切换选举请求;根据所述选举请求,判断所述从节点和所述主节点是否属于同一数据中心;响应于所述从节点和所述主节点属于同一数据中心,则向所述从节点投票。7.根据权利要求6所述的集群的故障切换方法,其特征在于,所述根据所述选举请求,判断所述从节点和所述主节点是否属于同一数据中心,包括:从所述选举请求中获取所述从节点所属数据中心的第二标识;判断所述第二标识是否与所述主节点所属数据中心的第一标识一致;响应于所述第二标识与所述第一标识一致,则判定所述从节点和所述主节点属于同一数据中心。8.根据权利要求6所述的集群的故障切换方法,其特征在于,还包括:响应于所述从节点和所述主节点非属于同一数据中心,则拒绝向所述从节点投票。9.根据权利要求6或8所述的集群的故障切换方法,其特征在于,还包括:向所述从节点发送应答消息,其中,所述应答消息携带投票指示信息。10.根据权利要求6或8所述的集群的故障切换方法,其特征在于,还包括:响应于所述主节点被确定为所述从节点的新的主节点,则向所述从节点发送通知消
息。11.一种集群的故障切换装置,其特征在于,适用于从节点,所述装置包括:判断模块,用于响应于所述从节点所属的第一主节点处于宕机状态,判断所述从节点和所述第一主节点是否属于同一数据中心;发起模块,用于响应于所述从节点和所述第一主节点属于同一数据中心,则发起故障切换选举流程。12.根据权利要求11所述的集群的故障切换装置,其特征在于,所述判断模块,包括:第一获取子模块,...
【专利技术属性】
技术研发人员:罗明,成龙,
申请(专利权)人:京东科技控股股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。