CN108206768A - 集群监测和切换方法及装置 - Google Patents

集群监测和切换方法及装置 Download PDF

Info

Publication number
CN108206768A
CN108206768A CN201611184874.2A CN201611184874A CN108206768A CN 108206768 A CN108206768 A CN 108206768A CN 201611184874 A CN201611184874 A CN 201611184874A CN 108206768 A CN108206768 A CN 108206768A
Authority
CN
China
Prior art keywords
cluster
monitoring
availability
client
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201611184874.2A
Other languages
English (en)
Inventor
孟庆义
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201611184874.2A priority Critical patent/CN108206768A/zh
Publication of CN108206768A publication Critical patent/CN108206768A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明实施例提供了集群监测和切换方法及装置,方法包括:监控节点分别监测集群内各分区的服务状态,和/或集群对客户端的服务请求响应情况,进而监控节点计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率,和/或,监控节点统计集群所接收到的客户端服务请求中,未成功进行响应的服务请求,以得到集群的请求出错率,通过对集群服务能力中的分区可用率和请求出错率进行监测之后,根据监测结果,确定集群的可用性。可见,本发明实施例通过分区可用率和/或请求出错率对集群的服务能力进行监测提高了集群可用性监测的准确性。

Description

集群监测和切换方法及装置
技术领域
本发明涉及信息技术,尤其涉及一种集群监测和切换方法及装置。
背景技术
为了提高系统的可靠性,分布式系统往往采用主集群和备集群的方式进行架构。当主集群不可用时,切换客户端访问备集群,从而使得客户端能够在应用层面上较稳定地访问分布式系统。例如,图1为现有技术在分布式系统中进行集群监测和切换的示意图,如图1所示,监控节点对集群进行监测,当主集群不可用时,将客户端所访问的主集群切换为备集群。
由于集群不同于单机系统的单节点,集群会包含多个数据节点,因此,在监测集群是否可用时,通过检查各个数据节点的网络是否连通,逐个确定集群中的数据节点是否可访问,当多数数据节点不可访问时,则确定整个集群不可用。
现有技术的集群可用性监测仅使用于系统瘫痪的应用场景下,而在部分数据节点宕机导致分布式系统启用恢复机制的应用场景下,这种可用性监测方法则会出现错误,会将处于可用状态的集群误判为不可用,因此,这种集群可用性监测方法准确性不高。
发明内容
本发明提供一种集群监测和切换方法及装置,用于提高集群可用性监测的准确性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种集群监测方法,包括:
监控节点分别监测集群内各分区的服务状态,和/或所述集群对客户端的服务请求响应情况;
所述监控节点计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率;和/或,所述监控节点统计所述集群所接收到的客户端服务请求中,未成功进行响应的服务请求,以得到集群的请求出错率;
根据所述集群的分区可用率,和/或请求出错率,所述监控节点确定所述集群的可用性。
第二方面,提供了一种换方法,所述方法包括:
切换节点获取根据第一方面所述的集群监测方法所监测到的第一集群的可用性;
当所述第一集群处于不可用状态时,所述切换节点将所述第一集群切换为第二集群。
第三方面,提供了一种集群监测方法,包括:
监测集群向客户端提供服务的能力;
根据监测结果,确定集群的可用性。
第四方面,提供了一种切换方法,包括:
获取根据第三方面所述的集群监测方法所监测到的第一集群的可用性;
当所述第一集群处于不可用状态时,将所述第一集群切换为第二集群。
第五方面,提供了一种集群监测装置,包括:
监测模块,用于监测集群向客户端提供服务的能力;
确定模块,用于根据监测结果,确定集群的可用性。
第六方面,提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种数据处理方法,所述方法包括:监测集群向客户端提供服务的能力;根据监测结果,确定集群的可用性。
第七方面,提供了一种切换装置,包括:
获取模块,用于获取根据第五方面所述的集群监测装置所监测到的第一集群的可用性;
切换模块,用于当所述第一集群处于不可用状态时,将所述第一集群切换为第二集群。
第八方面,提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种数据处理方法,所述方法包括:监测第一集群向客户端提供服务的能力;根据监测结果,确定所述第一集群的可用性;当所述第一集群处于不可用状态时,将所述第一集群切换为第二集群。
本发明实施例提供的集群监测和切换方法及装置,方法包括:监控节点分别监测集群内各分区的服务状态,和/或集群对客户端的服务请求响应情况,进而监控节点计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率,和/或,监控节点统计集群所接收到的客户端服务请求中,未成功进行响应的服务请求,以得到集群的请求出错率,通过对集群服务能力中的分区可用率和请求出错率进行监测之后,根据监测结果,确定集群的可用性。在部分数据节点宕机导致分布式系统启用恢复机制的应用场景下,由于考虑了服务在数据节点之间的可迁移性,因此直接对服务能力进行监测,不会出现由于服务的物理载体的宕机,也就是数据节点的宕机,误判为该服务不可用的情况,减小了对集群的可用性判断错误的概率。可见,本发明实施例通过分区可用率和/或请求出错率对集群的服务能力进行监测提高了集群可用性监测的准确性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为现有技术在分布式系统中进行集群监测和切换的示意图;
图2为本发明实施例一提供的一种集群监测方法的流程示意图;
图3为本发明实施例二提供的一种集群监测方法的示意图;
图4为本发明实施例三所提供的切换方法的交互示意图;
图5为本发明实施例四提供的一种集群监测方法的流程示意图;
图6为切换系统的示意图;
图7为本发明实施例提供的集群监测方法的示意图;
图8为分布式系统的集群架构示意图;
图9为本发明实施例五提供的一种集群监测方法的流程示意图;
图10为本发明实施例六提供的一种切换方法的流程示意图;
图11为对主备模式下的分布式系统进行切换的示意图;
图12为本发明实施例七提供的一种集群监测装置的结构示意图;
图13为本发明实施例七提供的另一种集群监测装置的结构示意图;
图14为本发明实施例八提供的一种切换装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面结合附图对本发明实施例提供的集群监测和切换方法及装置进行详细描述。
实施例一
图2为本发明实施例一提供的一种集群监测方法的流程示意图,本实施例所提供的方法由监控节点以及被测的集群执行。
具体来说,包括以下步骤:
步骤101,监控节点分别监测集群内各分区的服务状态,和/或集群对客户端的服务请求响应情况。
具体的,在监测集群向客户端提供所需数据的能力时,通过监测所述集群所维护的数据中,处于服务状态的数据所占比例进行衡量。具体可以采用集群的分区可用率这一指标,也就是分别监测各数据节点所对应分区的服务状态,计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率。
另外,在监测集群响应客户端请求的能力时,通过监测所述集群所接收到的客户端服务请求中,成功进行响应的概率进行衡量。具体可以采用集群的请求出错率这一指标,也就是分别监测各个数据节点所接收到的请求;计算异常响应的客户端服务请求数量与接收到的客户端服务请求总数之比,以得到集群的请求出错率。
需要说明的是,异常响应的客户端服务请求包括超时响应的请求,另外还包括错误响应的请求。其中,超时请求是指超过60s没有进行响应的请求。
步骤102,监控节点计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率;和/或,监控节点统计集群所接收到的客户端服务请求中,未成功进行响应的服务请求,以得到集群的请求出错率。
具体地,可以分别计算集群中各个监控节点的分区可用率和请求出错率。其中,分区可用率=可用分区数/数据节点的分区总数,请求出错率=异常响应的客户端服务请求数量/数据节点接收到的客户端服务请求总数。
进而,将各个数据节点的分区可用率和请求出错率进行加权平均,获得集群的分区可用率和请求出错率。这里各个数据节点的权重是数据节点所维护的分区的数量占全部分区的比重。
步骤103,根据集群的分区可用率,和/或请求出错率,监控节点确定集群的可用性。
具体地,若所述集群的分区可用率低于预设分区阈值到达预设时长,和/或请求出错率高于请求阈值到达预设时长,所述监控节点确定所述集群为不可用状态。
在部分数据节点宕机导致分布式系统启用恢复机制的应用场景下,由于考虑了服务在数据节点之间的可迁移性,因此直接通过集群的分区可用率,和/或请求出错率对服务能力进行监测,不会出现由于对客户端进行服务的物理载体,也就是数据节点的宕机,误判为该服务不可用的情况,减小了对集群的可用性判断错误的概率。
本实施例中,通过监控节点分别监测集群内各分区的服务状态,和/或集群对客户端的服务请求响应情况,进而监控节点计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率,和/或,监控节点统计集群所接收到的客户端服务请求中,未成功进行响应的服务请求,以得到集群的请求出错率,通过对集群服务能力中的分区可用率和请求出错率进行监测之后,根据监测结果,确定集群的可用性。在部分数据节点宕机导致分布式系统启用恢复机制的应用场景下,由于考虑了服务在数据节点之间的可迁移性,因此直接对服务能力进行监测,不会出现由于服务的物理载体的宕机,也就是数据节点的宕机,误判为该服务不可用的情况,减小了对集群的可用性判断错误的概率。可见,本发明实施例通过分区可用率和/或请求出错率对集群的服务能力进行监测提高了集群可用性监测的准确性。
实施例二
图3为本发明实施例二提供的一种集群监测方法的示意图,在上一实施例的基础上,本实施例中,被测的集群包括主节点和数据节点,基于此,步骤101具体包括以下步骤:
步骤1011,集群中的各个数据节点向对应的主节点发送运行数据。
其中,运行数据包括:数据节点所维护的分区的总数和所维护的分区中可用分区的数量;和/或,运行数据包括:异常响应的客户端服务请求数量和接收到客户端请求的总数。
具体的,各个数据节点统计出运行数据之后,将运行数据随心跳报文发送至主节点。
步骤1012,主节点对所接收到的各个数据节点的运行数据进行汇总。
步骤1013,监控节点从所述主节点获取汇总后的运行数据。
进一步,如图3所示,监控节点的个数为多个,从而与监控节点相连的切换节点,在监控节点确定所述集群的可用性之后还需要执行步骤1014,获取各个监控节点所确定出的集群的可用性,进而统计对所述集群的可用性判断一致的监控节点个数,切断节点将所统计到的个数最多的监控节点所确定出的可用性,作为所述切断节点确定出的集群的可用性。
进一步,在切换节点确定出的集群的可用性之后,切换节点根据所述集群的可用性判断一致的最多监控节点个数与监控节点总个数之比,作为所述切断节点确定出的集群的可用性的置信度。
本实施例中,通过监控节点分别监测集群内各分区的服务状态,和/或集群对客户端的服务请求响应情况,进而监控节点计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率,和/或,监控节点统计集群所接收到的客户端服务请求中,未成功进行响应的服务请求,以得到集群的请求出错率,通过对集群服务能力中的分区可用率和请求出错率进行监测之后,根据监测结果,确定集群的可用性。在部分数据节点宕机导致分布式系统启用恢复机制的应用场景下,由于考虑了服务在数据节点之间的可迁移性,因此直接对服务能力进行监测,不会出现由于服务的物理载体的宕机,也就是数据节点的宕机,误判为该服务不可用的情况,减小了对集群的可用性判断错误的概率。可见,本发明实施例通过分区可用率和/或请求出错率对集群的服务能力进行监测提高了集群可用性监测的准确性。
实施例三
在前述实施例的基础上,本实施例还提供了一种切换方法,图4为本发明实施例三所提供的切换方法的交互示意图,如图4所示,在采用前述实施例所确定出的集群可用性的基础上,确定是否在集群之间进行切换,从而使得客户端访问切换后的集群。在本实施例中,集群为多个,至少包括第一集群和第二集群。
如图4所示,切换方法包括:
步骤201,切换节点获取根据前述实施例的集群监测方法所监测到的第一集群的可用性。
作为一种可能的应用场景,在分布式系统处于主备模式下时,第一集群具体可以为主集群,第二集群具体可以为备集群,采用如实施例一或实施例二所提供的方法,对该第一集群向客户端提供服务的能力进行监测,从而获得该第一集群的可用性,以据此进行主备集群之间的切换。
步骤202,当第一集群处于不可用状态时,切换节点将第一集群切换为第二集群。
切换节点在客户端所侦听的目标服务中写入第二集群的物理地址,客户端侦听目标服务得到第二集群的物理地址,客户端根据所侦听到的物理地址访问第二集群。
具体地,切换节点通过监控节点同时对分布式系统中的主备集群进行监测,确定出分布式系统中的主集群不可用时,向分布式配置管理系统中的目标服务中写入备集群的物理地址。在客户端中记录有一个对应这个目标服务的虚拟地址,从而客户端通过解析虚拟机地址,对目标服务进行侦听,当切换节点向该目标服务中写入备集群物理地址时,客户端可以侦听到目标服务的内容变化,从而得到该备集群的物理地址,进而采用该备集群的物理地址对分布式系统进行访问。
本实施例中,通过监控节点分别监测集群内各分区的服务状态,和/或集群对客户端的服务请求响应情况,进而监控节点计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率,和/或,监控节点统计集群所接收到的客户端服务请求中,未成功进行响应的服务请求,以得到集群的请求出错率,通过对集群服务能力中的分区可用率和请求出错率进行监测之后,根据监测结果,确定集群的可用性。在部分数据节点宕机导致分布式系统启用恢复机制的应用场景下,由于考虑了服务在数据节点之间的可迁移性,因此直接对服务能力进行监测,不会出现由于服务的物理载体的宕机,也就是数据节点的宕机,误判为该服务不可用的情况,减小了对集群的可用性判断错误的概率。可见,本发明实施例通过分区可用率和/或请求出错率对集群的服务能力进行监测提高了集群可用性监测的准确性。
实施例四
图5为本发明实施例四提供的一种集群监测方法的流程示意图,本实施例所提供的方法,可以由切换系统执行,如图5所示,方法包括:
步骤401、监测集群向客户端提供服务的能力。
具体的,这里所说的集群向客户端提供服务的能力包括至少两个方面的内容,一个方面在于集群向客户端提供所需数据的能力;另一个方面在于集群响应客户端请求的能力。在本步骤中分别对这至少两个方面的能力进行监测。
具体的,在监测集群向客户端提供所需数据的能力时,通过监测所述集群所维护的数据中,处于服务状态的数据所占比例进行衡量。具体可以采用集群的分区可用率这一指标,也就是分别监测各数据节点所对应分区的服务状态,计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率。
另外,在监测集群响应客户端请求的能力时,通过监测所述集群所接收到的客户端服务请求中,成功进行响应的概率进行衡量。具体可以采用集群的请求出错率这一指标,也就是分别监测各个数据节点所接收到的请求;计算异常响应的客户端服务请求数量与接收到的客户端服务请求总数之比,以得到集群的请求出错率。
为了清楚说明本实施例,本实施例提供了切换系统的示意图,图6为切换系统的示意图,如图6所示,前述步骤401中监测集群的操作具体可以由切换系统中的监控节点执行,在图6中示意了多个监控节点,从而提高监测结果的可靠性,作为一种可能的实现方式,通常可以采用3个监控节点,本领域技术人员可以知晓切换系统中监控节点的数量不构成实现本方法的限制,可以采用更多或更少的监控节点数量实现集群监测。
步骤402、根据监测结果,确定集群的可用性。
在部分数据节点宕机导致分布式系统启用恢复机制的应用场景下,由于考虑了服务在数据节点之间的可迁移性,因此直接对服务能力进行监测,不会出现由于对客户端进行服务的物理载体,也就是数据节点的宕机,误判为该服务不可用的情况,减小了对集群的可用性判断错误的概率。
作为一种可能的实现方式,可以采用定性判断的方式,确定集群的可用性,也就是判断集群处于可用状态或者不可用状态。具体的,若根据监测结果,确定集群向客户端提供服务的能力低于预设阈值到达预设时长,才判断出集群为不可用状态。在确定集群可用性时,引入了时长这一纬度,是由于在分布式系统场景下,导致集群可用性存在异常通常是由于部分节点宕机,造成部分服务不可用。同时由于分布式系统具备自我恢复能力,因此在执行恢复过程的这段时间内的部分服务不可用。如果这段时间服务影响不可接受,则需要切换。但切换系统从发现集群可用性存在问题到完成切换也需要一段时间,而且切换本身也会造成服务的波动,因此如果分布式系统能够快速恢复,则优选不进行切换。因此,对分布式系统的可用性判断时,需要判断集群向客户端提供服务的能力低于预设阈值是否到达预设时长,若未达到预设时长便恢复服务能力至高于该阈值,则确定集群是处于可用状态的。
作为另一种可能的实现方式,可以采用定量判断的方式,确定集群的可用性,也就是判断集群可用的程度。具体的,在上一步中所监测到的集群向客户端提供服务的能力可以采用两个指标进行衡量,分别为分区可用率和请求出错率,本步骤中,可以利用这两个指标量化集群的可用程度。对于分区可用率来说,当分区可用率为100%时,集群可用程度最高,当分区可用率为0%时,集群可用程度最低;对于请求出错率来说,当请求出错率为0%时,集群可用程度最高,当请求出错率为100%时,集群可用程度最低。在对集群的可用程度进行量化时,与定性判断可用性相似,同样可以引入时间纬度,也就是采用包括分区可用率、分区可用率维持时间、请求出错率和请求出错率维持时间这四元组信息对集群可用程度进行量化。
在图6中,可由切换节点执行根据监控节点所获得的监测结果,确定集群的可用性的步骤,作为一种可能的实现方式,若监控节点个数为多个时,可以根据多个监控节点的监测结果,分别确定集群的可用性,获得多个可用性结果,进而从中选择置信度较高的可用性结果作为该集群可用性的最终结果。
图7为本发明实施例提供的集群监测方法的示意图,如图7所示,通过对集群向客户端提供服务的能力进行监测之后,根据监测结果,确定集群的可用性,在部分数据节点宕机导致分布式系统启用恢复机制的应用场景下,由于考虑了服务在数据节点之间的可迁移性,因此直接对服务能力进行监测,不会出现由于对客户端进行服务的物理载体,也就是数据节点的宕机,误判为该服务不可用的情况,减小了对集群的可用性判断错误的概率。可见,本发明实施例通过对服务能力进行监测提高了集群可用性监测的准确性。
实施例五
本实施例中,对运行分布式系统的集群监测进行说明,图8为集群架构示意图,如图8所示,集群中包括数据节点和主(Master)节点,主节点用于对数据节点进行管理,一般来说,通常包括多个数据节点,主节点的个数可以为两个,也就是双主节点架构,从而保证分布式系统运行的稳定性,以尽量减少由于主节点宕机所导致不良影响,例如:主节点对应的多个数据节点所维护的分区不可用等。
为了清楚地说明分布式系统和切换系统执行集群监测的过程,本实施例提供了集群监测方法,其中,分布式系统运行在主备模式下,图9为本发明实施例五提供的一种集群监测方法的流程示意图,如图9所示,方法包括:
步骤501、分布式系统的各个数据节点周期性统计并向主节点发送自身的运行数据。
其中,运行数据包括:可用分区的数量和数据节点所维护的分区的总数;以及异常响应的客户端服务请求数量和接收到客户端请求的总数。
具体的,各个数据节点统计出运行数据之后,将运行数据随心跳报文发送至主节点。
需要说明的是,异常响应的客户端服务请求包括超时响应的请求,另外还包括错误响应的请求。其中,超时请求是指超过60s没有进行响应的请求。
步骤502、分布式系统的主节点对所接收到的各数据节点的运行数据进行汇总。
步骤503、切换系统中的各个监控节点分别从主节点获取汇总后的运行数据,根据汇总后的运行数据计算集群的分区可用率和请求出错率。
具体的,可以分别计算各个监控节点的分区可用率和请求出错率。其中,分区可用率=可用分区数/数据节点的分区总数,请求出错率=异常响应的客户端服务请求数量/数据节点接收到的客户端服务请求总数。
进而,将各个数据节点的分区可用率和请求出错率进行加权平均,获得集群的分区可用率和请求出错率。这里各个数据节点的权重是数据节点所维护的分区的数量占全部分区的比重。
例如:当各个数据节点权重相同时,即均为0.25时,根据各节点的分区可用率和请求出错率所计算出的集群的分区可用率和请求出错率如下表1所示:
表1集群的分区可用率m和请求出错率n计算
步骤504、切换系统中的切换节点根据各个监控节点所计算出的分区可用率m和请求出错率n,计算分区可用率的维持时间t1和请求出错率的维持时间t2,得到各监控节点的四元组信息<m,t1,n,t2>。
具体的,在计算集群的分区可用率的维持时间t1时,是通过切换节点判断出分区可用率m低于作为分区阈值的健康阈值M,则查询历史记录,以确定分区可用率m低于健康阈值M的已持续时间,进而在该已持续时间的基础上继续计时,计时结果为分区可用率的维持时间t1。若切换节点判断出分区可用率m不低于健康阈值,则对已持续时间进行清零,并停止计时,分区可用率的维持时间t1为零。
相似地,在计算集群的请求出错率的维持时间t2时,是通过切换节点判断出请求出错率n高于作为请求阈值的健康阈值N,则查询历史记录,以确定请求出错率n低于健康阈值N的已持续时间,进而在该已持续时间的基础上继续计时,计时结果为请求出错率的维持时间t2。若切换节点判断出请求出错率n不高于健康阈值M,则对已持续时间进行清零,并停止计时,请求出错率的维持时间t2为零。
需要说明的是,由于切换节点分别针对每一个监控节点进行计算,因此,本步骤中所获得的四元组信息,即<m,t1,n,t2>,与监控节点是相对应的,由于各监控节点从主节点获取数据的时刻不一定是完全相同的,因此,通过各个监控节点的数据所计算出的<m,t1,n,t2>也可能是不同的。
步骤505、切换节点通过判断各监控节点的四元组信息<m,t1,n,t2>是否满足切换条件,确定集群可用性。
具体的,切换节点分别判断各个监控节点的四元组信息<m,t1,n,t2>是否满足切换条件,若满足切换条件则确定通过该监控节点确定集群为不可用,反之,若不满足切换条件则确定通过该监控节点确定集群为可用。
其中,切换条件为<M,T1,N,T2>,当M>m且T1>t1,或者,N<n且T2>t2,则确定满足切换条件,否则,确定为不满足切换条件。
进而,统计通过各监控节点所确定出的集群可用性,选择多数监控节点一致确定的集群可用性作为最终的集群可用性,并统计最终的集群可用性的置信度。
例如:监控节点的个数可以为3个,这3个监控节点计算出的<m,t1,n,t2>可能是不同的,切换节点首先判断通过各个监控节点所计算出的<m,t1,n,t2>是否满足切换条件<M,T1,N,T2>。当两个监控节点对应的<m,t1,n,t2>满足切换条件,而另一个监控节点对应的<m,t1,n,t2>不满足切换条件时,选择多数监控节点一致的结果作为最终的结果,即满足切换条件,因此,确定出集群处于不可用状态。
进而,计算该最终结果的置信度,置信度=多数监控节点数/监控节点总数,即集群处于不可用状态的置信度为66.67%。根据该置信度可以判断出所确定的集群可用状态的准确程度。
通过对集群向客户端提供服务的能力进行监测之后,根据监测结果,确定集群的可用性,在部分数据节点宕机导致分布式系统启用恢复机制的应用场景下,由于考虑了服务在数据节点之间的可迁移性,因此直接对服务能力进行监测,不会出现由于对客户端进行服务的物理载体,也就是数据节点的宕机,误判为该服务不可用的情况,减小了对集群的可用性判断错误的概率。可见,本发明实施例通过对服务能力进行监测提高了集群可用性监测的准确性。
实施例六
图10为本发明实施例六提供的一种切换方法的流程示意图,如图10所示,本实施例所提供的方法可以由切换系统执行,在图6所示的切换系统中,具体可以由切换节点执行。如图10所示方法包括:
步骤601、根据集群向客户端提供服务的能力,监测第一集群的可用性。
作为一种可能的应用场景,在分布式系统处于主备模式下时,第一集群具体可以为主集群,第二集群具体可以为备集群,采用如实施例一或实施例二所提供的方法,对该第一集群向客户端提供服务的能力进行监测,从而获得该第一集群的可用性,以据此进行主备集群之间的切换。
步骤602、当第一集群处于不可用状态时,将第一集群切换为第二集群。
在第一集群为主集群的情况下,若主集群为不可用,则切换至作为备集群的第二集群。图11为对主备模式下的分布式系统进行切换的示意图,如图11所示,具体切换过程包括:切换节点通过监控中心同时对分布式系统中的主备集群进行监测,确定出分布式系统中的主集群不可用时,向分布式配置管理系统中的目标服务中写入备集群的物理地址。在客户端中记录有一个对应这个目标服务的虚拟地址,从而客户端通过解析虚拟机地址,对目标服务进行侦听,当切换节点向该目标服务中写入备集群物理地址时,客户端可以侦听到目标服务的内容变化,从而得到该备集群的物理地址,进而采用该备集群的物理地址对分布式系统进行访问。
进一步,为了保证切换的成功率,在切换之前,需要确定采用如前述监测方法监测出的集群可用性结果是可信的,具体可以根据可用性的置信度进行确定,例如:当置信度大于50%时,确定可用性结果是可信的。同时,还需要确定所需切换至的第二集群处于可用状态。具体对集群可用性的监测方法可以参考前述监测方法实施例中的相关描述,本实施例中对此不再赘述。
作为一种异常情况,有可能由于分布式系统中的集群或者是切换系统出现断网,从而切换节点无法正常从监控中心获取到数据,也就不能监控出集群的可用状态,在这种情况下,切换节点可以采用如下判断逻辑对断网情况进行判断:
若切换节点可从至少一个监控节点正常获取数据,则判断出集群未断网;
若切换节点可以连接到至少一个监控节点,且所有连接到的监控节点都上报无法连接到集群,则切换节点去连接公网,如果成功则判断是集群断网;否则判断是切换节点断网。
如果切换节点基于判断逻辑确定集群断网,则需要立即对断网集群进行切换,但如果切换节点断网,或者是切换节点无法连接到所有的监控节点,此时切换节点是孤岛,无法判断出集群是否断网,为了避免误切换,切换节点则不执行切换过程。
实施例七
图12为本发明实施例七提供的一种集群监测装置的结构示意图,如图12所示,包括:监测模块41和确定模块42。
监测模块41,用于监测集群向客户端提供服务的能力。
确定模块42,用于根据监测结果,确定集群的可用性。
具体的,确定模块42,具体用于若所述集群向客户端提供服务的能力低于预设阈值到达预设时长,确定所述集群为不可用状态。
为了清楚说明本实施例所提供的装置,本实施例中提供了一种可能的实现形式,图13为本发明实施例七提供的另一种集群监测装置的结构示意图,在图12的基础上,监测模块41,包括:数据单元411和请求单元412。
数据单元411,用于监测集群向客户端提供所需数据的能力;
请求单元412,用于监测集群响应客户端请求的能力。
需要说明的是,在实际应用中,监测模块41可以包括数据单元411和请求单元412中的至少一个,图13所示的监测模块41包括数据单元411和请求单元412,仅是列举了一种可能的实现方式。
其中,数据单元411,具体用于监测所述集群所维护的数据中,处于服务状态的数据所占比例。
请求单元412,具体用于监测所述集群所接收到的客户端服务请求中,成功进行响应的概率。
进一步,数据单元411包括:分区监测子单元4111和分区计算子单元4112。
分区监测子单元4111,用于分别监测各数据节点所对应分区的服务状态。
分区计算子单元4112,用于计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率。
进一步,请求单元412,包括:请求监测子单元4121和请求监测子单元4122。
请求监测子单元4121,用于分别监测各个数据节点所接收到的请求。
请求监测子单元4122,用于计算异常响应的客户端服务请求数量与接收到的客户端服务请求总数之比,以得到集群的请求出错率。
进一步,本实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种数据处理方法,所述方法包括:监测集群向客户端提供服务的能力;根据监测结果,确定集群的可用性。
本实施例中,监控节点分别监测集群内各分区的服务状态,和/或集群对客户端的服务请求响应情况,进而监控节点计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率,和/或,监控节点统计集群所接收到的客户端服务请求中,未成功进行响应的服务请求,以得到集群的请求出错率,通过对集群服务能力中的分区可用率和请求出错率进行监测之后,根据监测结果,确定集群的可用性。可见,本发明实施例通过对服务能力进行监测提高了集群可用性监测的准确性。
实施例八
图14为本发明实施例八提供的一种切换装置的结构示意图,如图14所示,切换装置包括:获取模块51和切换模块52。
获取模块51,用于获取实施例四中集群监测装置所监测到的第一集群的可用性。
切换模块52,用于当所述第一集群处于不可用状态时,将所述第一集群切换为第二集群。
具体的,切换模块52,具体用于利用客户端所侦听的目标服务,向客户端发送第二集群的物理地址。其中,切换模块52利用客户端所侦听的目标服务,向客户端发送第二集群的物理地址具体是通过向目标服务中写入第二集群的物理地址,以使所述客户端侦听所述目标服务得到所述第二集群的物理地址。
进一步,本实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种数据处理方法,所述方法包括:监测第一集群向客户端提供服务的能力;根据监测结果,确定所述第一集群的可用性;当所述第一集群处于不可用状态时,将所述第一集群切换为第二集群。
本实施例中,监控节点分别监测集群内各分区的服务状态,和/或集群对客户端的服务请求响应情况,进而监控节点计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率,和/或,监控节点统计集群所接收到的客户端服务请求中,未成功进行响应的服务请求,以得到集群的请求出错率,通过对集群服务能力中的分区可用率和请求出错率进行监测之后,根据监测结果,确定集群的可用性。可见,本发明实施例通过对服务能力进行监测提高了集群可用性监测的准确性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (21)

1.一种集群监测方法,其特征在于,所述方法包括:
监控节点分别监测集群内各分区的服务状态,和/或所述集群对客户端的服务请求响应情况;
所述监控节点计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率;和/或,所述监控节点统计所述集群所接收到的客户端服务请求中,未成功进行响应的服务请求,以得到集群的请求出错率;
根据所述集群的分区可用率,和/或请求出错率,所述监控节点确定所述集群的可用性。
2.根据权利要求1所述的集群监测方法,其特征在于,所述集群包括主节点和数据节点;所述监控节点分别监测集群内各分区的服务状态,和/或所述集群对客户端的服务请求响应情况,包括:
所述集群中的各个数据节点向对应的主节点发送运行数据;所述运行数据包括:所述数据节点所维护的分区的总数和所维护的分区中可用分区的数量;和/或,所述运行数据包括:异常响应的客户端服务请求数量和接收到客户端请求的总数;
所述主节点对所接收到的各个数据节点的运行数据进行汇总;
所述监控节点从所述主节点获取汇总后的运行数据。
3.根据权利要求2所述的集群监测方法,其特征在于,所述监控节点的个数为多个;所述监控节点确定所述集群的可用性之后,还包括:
切换节点获取各个监控节点所确定出的所述集群的可用性;
所述切换节点统计对所述集群的可用性判断一致的监控节点个数;
所述切断节点将所统计到的个数最多的监控节点所确定出的可用性,作为所述切断节点确定出的集群的可用性。
4.根据权利要求3所述的集群监测方法,其特征在于,所述切断节点将所统计到的个数最多的监控节点所确定出的可用性,作为所述切断节点确定出的集群的可用性之后,还包括:
所述切换节点根据所述集群的可用性判断一致的最多监控节点个数与监控节点总个数之比,作为所述切断节点确定出的集群的可用性的置信度。
5.根据权利要求1-4任一项所述的集群监测方法,其特征在于,所述根据所述集群的分区可用率,和/或请求出错率,所述监控节点确定所述集群的可用性,包括:
若所述集群的分区可用率低于预设分区阈值到达预设时长,和/或请求出错率高于请求阈值到达预设时长,所述监控节点确定所述集群为不可用状态。
6.一种切换方法,其特征在于,所述方法包括:
切换节点获取根据权利要求1-5任一项所述的集群监测方法所监测到的第一集群的可用性;
当所述第一集群处于不可用状态时,所述切换节点将所述第一集群切换为第二集群。
7.根据权利要求6所述的切换方法,其特征在于,所述切换节点将第一集群切换为第二集群包括:
所述切换节点在客户端所侦听的目标服务中写入所述第二集群的物理地址;
所述客户端侦听所述目标服务得到所述第二集群的物理地址;
所述客户端根据所侦听到的物理地址访问所述第二集群。
8.一种集群监测方法,其特征在于,包括:
监测集群向客户端提供服务的能力;
根据监测结果,确定集群的可用性。
9.根据权利要求8所述的集群监测方法,其特征在于,所述监测集群向客户端提供服务的能力,包括:
监测集群向客户端提供所需数据的能力;
和/或,监测集群响应客户端请求的能力。
10.根据权利要求9所述的集群监测方法,其特征在于,所述监测集群向客户端提供所需数据的能力包括:
监测所述集群所维护的数据中,处于服务状态的数据所占比例。
11.根据权利要求10所述的集群监测方法,其特征在于,所述监测集群所维护的数据中,处于服务状态的数据所占比例包括:
分别监测各数据节点所对应分区的服务状态;
计算处于服务状态的分区数量与分区总数之比,以得到集群的分区可用率。
12.根据权利要求9所述的集群监测方法,其特征在于,所述监测集群响应客户端请求的能力包括:
监测所述集群所接收到的客户端服务请求中,成功进行响应的概率。
13.根据权利要求12所述的集群监测方法,其特征在于,所述监测集群所接收到的客户端服务请求中,成功进行响应的概率包括:
分别监测各个数据节点所接收到的请求;
计算异常响应的客户端服务请求数量与接收到的客户端服务请求总数之比,以得到集群的请求出错率。
14.根据权利要求8-13任一项所述的集群监测方法,其特征在于,所述根据监测结果,确定集群的可用性包括:
若所述集群向客户端提供服务的能力低于预设阈值到达预设时长,确定所述集群为不可用状态。
15.一种切换方法,其特征在于,包括:
获取根据权利要求8-14任一项所述的集群监测方法所监测到的第一集群的可用性;
当所述第一集群处于不可用状态时,将所述第一集群切换为第二集群。
16.根据权利要求15所述的切换方法,其特征在于,所述将第一集群切换为第二集群包括:
利用客户端所侦听的目标服务,向所述客户端发送所述第二集群的物理地址。
17.根据权利要求16所述的切换方法,其特征在于,所述利用客户端所侦听的目标服务,向所述客户端发送所述第二集群的物理地址包括:
向所述目标服务中写入所述第二集群的物理地址,以使所述客户端侦听所述目标服务得到所述第二集群的物理地址。
18.一种集群监测装置,其特征在于,包括:
监测模块,用于监测集群向客户端提供服务的能力;
确定模块,用于根据监测结果,确定集群的可用性。
19.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种数据处理方法,所述方法包括:监测集群向客户端提供服务的能力;根据监测结果,确定集群的可用性。
20.一种切换装置,其特征在于,包括:
获取模块,用于获取根据权利要求18所述的集群监测装置所监测到的第一集群的可用性;
切换模块,用于当所述第一集群处于不可用状态时,将所述第一集群切换为第二集群。
21.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种数据处理方法,所述方法包括:监测第一集群向客户端提供服务的能力;根据监测结果,确定所述第一集群的可用性;当所述第一集群处于不可用状态时,将所述第一集群切换为第二集群。
CN201611184874.2A 2016-12-20 2016-12-20 集群监测和切换方法及装置 Pending CN108206768A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611184874.2A CN108206768A (zh) 2016-12-20 2016-12-20 集群监测和切换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611184874.2A CN108206768A (zh) 2016-12-20 2016-12-20 集群监测和切换方法及装置

Publications (1)

Publication Number Publication Date
CN108206768A true CN108206768A (zh) 2018-06-26

Family

ID=62603326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611184874.2A Pending CN108206768A (zh) 2016-12-20 2016-12-20 集群监测和切换方法及装置

Country Status (1)

Country Link
CN (1) CN108206768A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542725A (zh) * 2018-11-15 2019-03-29 北京金山云网络技术有限公司 一种分布式系统的服务质量监控方法、装置及监控服务器
CN111614747A (zh) * 2020-05-18 2020-09-01 北京奇艺世纪科技有限公司 一种信息处理方法及装置
CN111865632A (zh) * 2019-04-28 2020-10-30 阿里巴巴集团控股有限公司 分布式数据存储集群的切换方法及切换指令发送方法和装置
CN111901395A (zh) * 2020-07-07 2020-11-06 青岛海尔科技有限公司 多集群切换方法及装置
CN112019581A (zh) * 2019-05-30 2020-12-01 华为技术有限公司 一种调度任务处理实体的方法及装置
CN112104727A (zh) * 2020-09-10 2020-12-18 华云数据控股集团有限公司 一种精简高可用Zookeeper集群部署方法及系统
CN116233137A (zh) * 2023-02-17 2023-06-06 通明智云(北京)科技有限公司 一种基于集群的负载分担和备份方法及装置
CN116827826A (zh) * 2023-08-29 2023-09-29 腾讯科技(深圳)有限公司 边缘节点的评估方法、装置以及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546256A (zh) * 2012-01-12 2012-07-04 易云捷讯科技(北京)有限公司 用于对云计算服务进行监控的系统及方法
CN103580902A (zh) * 2012-08-07 2014-02-12 腾讯科技(深圳)有限公司 一种计算机信息系统及其动态容灾方法
CN105323271A (zh) * 2014-06-24 2016-02-10 中兴通讯股份有限公司 一种云计算系统以及云计算系统的处理方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546256A (zh) * 2012-01-12 2012-07-04 易云捷讯科技(北京)有限公司 用于对云计算服务进行监控的系统及方法
CN103580902A (zh) * 2012-08-07 2014-02-12 腾讯科技(深圳)有限公司 一种计算机信息系统及其动态容灾方法
CN105323271A (zh) * 2014-06-24 2016-02-10 中兴通讯股份有限公司 一种云计算系统以及云计算系统的处理方法和装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542725A (zh) * 2018-11-15 2019-03-29 北京金山云网络技术有限公司 一种分布式系统的服务质量监控方法、装置及监控服务器
CN111865632A (zh) * 2019-04-28 2020-10-30 阿里巴巴集团控股有限公司 分布式数据存储集群的切换方法及切换指令发送方法和装置
CN112019581A (zh) * 2019-05-30 2020-12-01 华为技术有限公司 一种调度任务处理实体的方法及装置
CN111614747B (zh) * 2020-05-18 2023-03-10 北京奇艺世纪科技有限公司 一种信息处理方法及装置
CN111614747A (zh) * 2020-05-18 2020-09-01 北京奇艺世纪科技有限公司 一种信息处理方法及装置
CN111901395A (zh) * 2020-07-07 2020-11-06 青岛海尔科技有限公司 多集群切换方法及装置
CN111901395B (zh) * 2020-07-07 2024-03-22 青岛海尔科技有限公司 多集群切换方法及装置
CN112104727B (zh) * 2020-09-10 2021-11-30 华云数据控股集团有限公司 一种精简高可用Zookeeper集群部署方法及系统
CN112104727A (zh) * 2020-09-10 2020-12-18 华云数据控股集团有限公司 一种精简高可用Zookeeper集群部署方法及系统
CN116233137A (zh) * 2023-02-17 2023-06-06 通明智云(北京)科技有限公司 一种基于集群的负载分担和备份方法及装置
CN116233137B (zh) * 2023-02-17 2023-11-17 通明智云(北京)科技有限公司 一种基于集群的负载分担和备份方法及装置
CN116827826A (zh) * 2023-08-29 2023-09-29 腾讯科技(深圳)有限公司 边缘节点的评估方法、装置以及计算机可读存储介质
CN116827826B (zh) * 2023-08-29 2023-10-27 腾讯科技(深圳)有限公司 边缘节点的评估方法、装置以及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN108206768A (zh) 集群监测和切换方法及装置
US11320991B2 (en) Identifying sub-health object storage devices in a data storage system
CN103763383B (zh) 一体化云存储系统及其存储方法
US9485160B1 (en) System for optimization of input/output from a storage array
US9015362B2 (en) Monitoring network performance and detecting network faults using round trip transmission times
US10855791B2 (en) Clustered storage system path quiescence analysis
CN108153622B (zh) 一种故障处理的方法、装置和设备
US10698605B2 (en) Multipath storage device based on multi-dimensional health diagnosis
CN102088490B (zh) 数据存储方法、设备和系统
CN110377459A (zh) 一种容灾系统、容灾处理方法、监控节点和备份集群
CN106656682A (zh) 集群心跳检测方法、系统及装置
CN106357449A (zh) 一种zedis分布式缓存方法
CN110809060B (zh) 一种应用服务器集群的监控系统及监控方法
CN109286529A (zh) 一种恢复RabbitMQ网络分区的方法及系统
EP3493072A1 (en) Hard disk management method and system
CN112272217A (zh) 一种kafka集群负载均衡方法、系统、设备以及介质
CN109714190A (zh) 一种基于应用级别的负载均衡与故障转移系统及其方法
CN109101371B (zh) 一种容灾切换方法及装置
CN108173672A (zh) 检测故障的方法和装置
CN106293492A (zh) 一种存储管理方法及分布式文件系统
CN109710456A (zh) 一种数据恢复方法及装置
CN112783792A (zh) 分布式数据库系统的故障检测方法、装置及电子设备
CN114064374A (zh) 一种基于分布式块存储的故障检测方法和系统
CN110247823A (zh) 一种故障检测方法、装置及相关设备
CN109302445A (zh) 主机节点状态确定方法、装置、主机节点及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180626