CN110096407B - 识别成员处的软故障 - Google Patents

识别成员处的软故障 Download PDF

Info

Publication number
CN110096407B
CN110096407B CN201910097385.0A CN201910097385A CN110096407B CN 110096407 B CN110096407 B CN 110096407B CN 201910097385 A CN201910097385 A CN 201910097385A CN 110096407 B CN110096407 B CN 110096407B
Authority
CN
China
Prior art keywords
members
cluster
metric data
statistical evaluation
micro
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.)
Active
Application number
CN201910097385.0A
Other languages
English (en)
Other versions
CN110096407A (zh
Inventor
M.佩雷拉
B.P.默里
J·S·贝尔图尔
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN110096407A publication Critical patent/CN110096407A/zh
Application granted granted Critical
Publication of CN110096407B publication Critical patent/CN110096407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0677Localisation of faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1425Reconfiguring to eliminate the error by reconfiguration of node membership
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Complex Calculations (AREA)
  • Solid-Sorbent Or Filter-Aiding Compositions (AREA)

Abstract

本文的示例涉及识别成员处的软故障,具体涉及识别专用于微服务的集群内的成员处的软故障。示例公开了识别集群内的每个成员的统计学评估。基于该统计学评估,在集群内的多个成员之一中识别软故障。响应于在集群中的成员之一处识别到软故障而执行一动作。

Description

识别成员处的软故障
背景技术
故障,诸如硬故障和软故障,可导致总体***的健康状况的严重退化。硬故障是部件发生灾难性故障的一种故障。而软故障是其中节点发生退化以使***的性能可能受到影响的隐匿型故障。
附图说明
在附图中,相同的附图标记指代相同的部件或框。下面的详细描述参考了附图,附图中:
图1图示了根据本公开的包括专用于微服务的执行的集群和成员的示例***;
图2图示了根据本公开的包括多个集群的示例***,每个集群专用于不同的微服务;
图3图示了根据本公开的由计算设备可执行以在专用于微服务的集群中的多个成员之一处识别软故障的示例流程图;
图4图示了根据本公开的由计算设备可执行以在集群内经历软故障的成员处执行动作的示例流程图;
图5是根据本公开的具有处理资源的示例计算设备的框图,该处理资源执行机器可读存储介质中的、用于确定要在经历软故障的成员处执行哪个动作的指令;并且
图6是根据本公开的具有处理资源的示例计算设备的框图,该处理资源执行机器可读存储介质中的指令,所述指令用于基于从集群中的多个成员中的每个成员获取度量数据并计算统计学评估,来确定要在经历软故障的成员处执行哪个动作。
具体实施方式
在传统单片式***体系结构中,***的功能任务被放置在单个程序中执行。不同的功能任务可占用不同的处理能力,因此单片式***体系结构可能不高效。例如,加密/解密比对数据进行存档占用更多的处理能力。但是,用于不同功能任务的不同的处理能力在执行单个程序时并未被考虑。
在更为现代化的面向服务的***体系结构中,任务被打破为功能片段执行。这些任务根据其功能被分组并聚合到每个容器中。面向服务的体系结构的一种方法是微服务。微服务包括在集群内的成员(例如,节点)上运行的这些功能相似的任务的集合。在集群内的成员组上运行相似功能的任务带来了更高效的处理能力。
在这些***体系结构中,执行前述任务的部件终究会经历部件故障,也称硬故障。集群管理技术用于从这些硬故障情形恢复。对于硬故障情形,当硬件部件故障时,集群管理器进行检测,并通过在基础建设上建立新的部件成员来恢复集群。集群管理器和基础设施可被设计有冗余,以防护硬故障。随着***经受退化,集群式体系结构中的软故障更加隐匿,直到硬故障产生。此外,多个程序被写入诸如固件、操作***、语言运行时、应用框架、应用代码等的多个层。在这些层之一中发生软故障的机会随时间而增加。
检测软故障的方法包括监视***中的部件。在监视方法中,当部件偏离预期性能时,执行评估以定位根本原因。根据根本原因进行修复并且***被更新。然而,这种方法花费很多时间来定位根本原因和更新***。
因此,本公开在专用于微服务的集群内的成员处识别软故障。本公开基于所收集的度量数据来计算每个成员的统计值。基于统计值,本公开检测集群内的成员之一中的故障。响应于检测到故障,执行一动作以使集群继续执行微服务。
在另一示例中,针对性能而选择的动作可在所识别的正经受软故障的成员处执行。示例动作的列表包括:回收该成员(例如,销毁并重启)、通过增加附加的成员来扩展集群、以及通过移除该成员来缩减集群。这些示例的每一个都是允许集群以最小的中断继续执行微服务的动作。这允许其他成员继续执行微服务,而不会响应于所识别的正经历软故障的成员而降低整个集群。
在另一示例中,计算设备指示专用于微服务的集群内的成员中的每一个在报告周期执行回收。在该示例中,回收以随机化方式完成,以使每个成员包括交错的启动时间。这意味着对一个成员的回收可在另一成员的回收完成之前或之后执行。指示每个成员以随机化方式执行回收提供了数据的多样性。数据的多样性提供了安全性,以免出现集群中所有成员共同经历软故障的情况。
下面的详细描述参考附图。在可能的情况下,相同的附图标记在附图和以下描述中用于指代相同的或相似的部分。然而,应当明确理解的是,附图仅用于图示和描述的目的。尽管若干示例在本文被描述,但修改、改编以及其他实现方式也是可能的。因此,以下详细描述不限制所公开的示例。相反,所公开的示例的适当范围可由所附权利要求来限定。
本文使用的术语仅用于描述特定实施例的目的而非意图限制。如本文所使用的单数形式“一(a)”和“该(the)”也意图包括复数形式,除非上下文明确另行表示。如本文所使用的术语“多个”被定义为两个或多于两个。如本文所使用的术语“另一”被定义为至少第二个或更多个。如本文所使用的术语“耦接”被定义为连接,无论是没有任何中间元件的直接连接还是利用至少一个中间元件的间接连接,除非另行表示。两个元件可机械地、电气地耦接,或通过通信通道、路径、网络或***可通信地链接。如本文所使用的术语“和/或”指代并包含一个或多个相关列出项目的任何和所有可能的组合。还应理解,尽管术语第一、第二、第三等可在本文用于描述多个元件,但这些元件不应被这些术语所限制,因为这些术语仅用于区分一个元件与另一元件,除非另行表述或上下文另行指示。如本文所使用的术语“包括(includes)”表示包括但不限于,术语“包含(including)”表示包含但不限于。术语“基于”表示至少部分地基于。此外,术语“软故障”应理解为表示***和/或部件随时间的退化。因此,术语“软故障”和“退化”在全文中可互换使用。进一步地,术语“微服务”应理解为包括在计算***中专用于执行的成员上所执行的功能上相似的任务。并且,术语“给定的”成员和“识别的”成员应理解为表示被分析的成员,因此在全文中可互换使用。
在前的公开描述了用于识别专用于微服务的集群内的多个成员中可能经历软故障的成员的多个示例实现方式。公开的示例可包括用于检测正在经受软故障的成员的***、设备、计算机可读存储介质以及方法。为图示目的,特定示例参考图1-6图示的部件来描述。然而,所图示的部件的功能可重叠,然而可以以更少或更多数量的元件和部件来呈现。进一步地,所图示的元件的全部或部分功能可共同存在或分布于某些地理上分散的位置中。此外,公开的示例在多种环境中实现并且不限于所图示的示例。
图1图示了示例***102,其包括专用于微服务的执行的集群104和成员106a-106c。***102包括协调器108,其遍及每个成员106a-106c获取度量数据。协调器108获取度量数据,然后确定每个成员106a-106c的统计学评估。确定统计学评估时,协调器108可识别哪个成员106a、106b或106c正在经历软故障。响应于识别出哪个成员106a、106b或106c正在经历软故障,协调器108继而确定在该成员处执行的动作并相应地对指令进行中继。
***102表示使得能够在集群104和协调器108之间进行通信以使协调器108识别哪个成员106a-106c正在经历软故障的计算***。因此,实现方式包括面向服务的体系结构的***、服务器、容器化计算***、操作***级虚拟化或能够托管专用于特定微服务的集群104的其他类型计算(虚拟或非虚拟)体系结构。尽管***102图示了包括集群104和协调器108的单个***,但实现方式不限于此,因为其以图示为目的而制作。例如,集群104可托管在一个计算***上而协调器托管在另一计算***上。
集群104包括成员106a-106c,并表示运行微服务的计算***。因此,集群104专用于特定微服务,由此成员106a-106c执行该特定微服务。在该实现方式中,成员106a-106各自执行功能相似的任务。在更具体的实现方式中,成员106a-106c各自执行相同的任务,以实现特定微服务的完成。在实现方式中,集群104包括可以看起来像来自该特定微服务的计算机的容器、分区、虚拟化引擎、限制(jail)(例如,FreeBSD限制、根目录限制)。例如,运行在物理计算机上的微服务可以看该物理计算机的资源,诸如连接的设备、内存、文件、文件夹、网络共享、CPU功率、硬件能力。在本实例中,运行在集群104上的微服务限于查看集群104的内容和分配至集群104的成员106a-106c。
成员106a-106a表示***102内的执行功能相似的任务以使集群104被认为专用于总任务(例如,微服务)的节点。成员106a-106c可经历被称为软故障的性能水平降低。软故障包括成员106a-106c随时间产生的退化。因此,成员106a-106c将度量数据报告至协调器108,以使度量数据包括每个成员106a-106c在一个或多个周期中执行情况如何的健康状况信息。以示例的形式,度量数据包括消息流的速率、数据收集、处理能力、存档速率、故障风险、给定成员106a、106b、106c为总体微服务执行任务的速度有多快、来自成员106a、106b、106c的通信、每个成员106a、106b、106c在一定时间段内执行的周期数、可用处理线程的总数、占用处理线程数、成员处理消息的总数以及其他。成员106a-106c表示或者各自执行特定微服务或者各自执行对总体微服务作出贡献的功能相似的任务的那些节点。成员106a-106c的实现方式包括电路节点、实现微服务的硬件,诸如物理电路、可编程电路、处理资源、芯片组、控制器、半导体或能够在集群104中执行功能相似的任务以完成特定微服务的其他类型的硬件。在其它实现方式中,成员106a-106c可包括虚拟化节点或虚拟化成员。在该实现方式中,指令由硬件设备(例如,处理器、控制器)执行,其中成员106a-106c由计算***的资源托管。尽管图1图示了成员106a-106c彼此位于相同位置,但这是以图示为目的,因为成员106a可由一个计算***的资源托管,而成员106b-106c可由不同的计算***的资源托管。这允许成员106a-106c基于执行功能相似的任务并且不被物理位置约束地分组在一起。
协调器108接收执行特定微服务的集群104内的成员106a-106c的度量数据。协调器108利用度量数据来获取统计学评估,如的模块110处。统计学评估提供分析,以将给定成员106a、106b或106c与集群104内的另一成员进行比较。因此,统计学评估是用于推断各个成员106a、106b或106c与集体成员106a-106c的比例的机制。利用统计学评估,协调器108可诊断哪个成员106a、106b或106c正在经受软故障。响应于识别出该成员,协调器108部署要在所识别的成员处执行的动作。协调器108的实现方式包括电子电路(即,硬件),诸如集成电路、可编程电路、专用集成电路(ASIC)、控制器、处理器、半导体、处理资源、芯片组或能够获取统计学评估、根据统计学评估识别成员并部署针对性能在该成员处执行的动作的其他类型的硬件部件。可替代地,协调器108可包括当由硬件部件(例如,控制器和/或处理器)执行时相应地确定针对性能在该成员处部署哪个动作的指令(例如,存储于机器可读介质上)。
模块110-114基于统计学评估来识别哪个成员106a、106b或106c正在经受软故障,接着确定要在所识别的成员处执行哪个动作。统计学评估可由协调器108根据度量数据计算。根据统计学评估,协调器108可识别哪个成员正在经历软故障。作为响应,协调器108在一种实现方式中应用策略。该策略指示要执行多个动作中的哪个动作。例如,可存在多个可能的动作,包括:回收,其中所识别的成员被销毁,并在集群104或不同的集群中(未图示)重建;集群104可被缩减,其中所识别的成员从集群104中移除;集群104可被扩展,其中另一成员(未图示)被建立在集群104中;以及所识别的成员的重启。动作的选择可由策略确定。策略是告知协调器108要对所识别的成员部署哪个动作的一组规则。以示例的形式,如果统计学评估高于阈值,则动作可包括进行集群104的缩减和/或重启;如果统计学评估低于阈值,则协调器108可部署回收和/或利用附加成员来扩展集群104。这些实现方式可在后面的附图中详细解释。以示例的形式,模块110-114可包括当(例如,由协调器108)执行时实现模块110-114的功能的指令(例如,存储于机器可读介质上)。可替代地或附加地,模块110-114可包括实现对应功能的电子电路(即,硬件)。
图2图示了包括多个集群204a-204d的示例***202,每个集群包括不同的成员206a-206c集合。每个集群204a-204d专用于不同的微服务,以使每个集群204a-204d的成员206a-206c分组执行与特定微服务对应的功能相似的任务。以示例的形式,集群204a包括专用于一个微服务的成员206a-206c,而集群204b包括专用于执行不同微服务的不同成员(未图示)。相应集群204内的成员106a-106c执行其中度量数据由数据存储216收集和存储的报告周期。
数据存储216收集和存储度量数据以及识别成员206a-206c和相应集群204a-204d的其他信息。数据存储216可向多个集群204a-204d发起请求(例如,获取快照ID(GetSnapshot ID))。接着各自专用于不同微服务的集群204a-204d完成报告周期。例如专用于相应集群204a的成员206a-206c执行报告周期,在此期间集群204a和/或成员206a-206c将该集群的标识、每个成员206a-206c的标识和度量数据传输至数据存储216。在一种实现方式中,报告周期可包括在每个成员206a-206c处在交错的时间进行的随机的回收,以使度量数据产生数据的多样性。这种实现方式在后面的附图中详细解释。
协调器208从数据存储216收集度量数据,继而在模块210从所述度量计算统计学评估。协调器208收集度量数据和识别信息,以使协调器208可识别哪个成员206a-206c和/或集群204a-204d正被分析。因此,协调器208对每个成员和/或每个集群执行分析周期。最初,协调器208可将通知传输至数据存储216,该通知指明度量数据来自哪个集群和哪个成员(例如,设置快照ID(Set SnapshotID))。然后,数据存储216将所请求的数据传输至协调器208。然后协调器208执行分析周期,以计算统计学评估。利用统计学评估,协调器208与包括一组规则的策略相比较以确定要执行哪个动作,如在模块212处。以示例的形式,模块210-214可包括当(例如,由协调器208)执行时实现模块210-214的功能的指令(例如,存储于机器可读介质上)。可替代地或附加地,模块210-214可包括实现对应功能的电子电路(即,硬件)。
集群控制器218管理专用于多个微服务的每个集群204a-204d。响应于协调器208识别出要执行的动作,协调器208设置在所识别的成员处部署的策略动作。集群控制器218接收策略动作,然后在集群204a-204d之一内的所识别的成员处部署该动作。
现参见图3和图4,流程图根据本公开的多个示例来图示。流程图表示可结合参考前面附图所讨论的多个***和设备而利用的过程。尽管以特定顺序图示,但流程图并非意图限制于此。相反,可以明确预期,多个过程可以以不同的顺序发生和/或与图示的过程之外的其他过程同时发生。因此,结合图3-4描述的操作的顺序是示例而不意图限制。附加的或更少的操作或操作组合可被使用或可以改变,而不偏离所公开示例的范围。因此,本公开仅提出了实现方式的可能示例,并且可对所描述的示例进行多种变型和修改。
图3是由计算设备可执行以在正经历软故障的集群成员处执行动作的流程图。在讨论图3时,可参考图1-2中的部件以提供上下文示例。在一种实现方式中,图1-2中的协调器108和206执行操作302-308,以在正经受软故障的成员处执行动作。在另一实现方式中,协调器108和集群104协同操作,以执行操作302-308。尽管图3被描述为由计算设备实现,但其可在其他合适的硬件部件上执行。例如,图3可以以机器可读存储介质504和604上的可执行指令的形式实现,如图5-6中。
在操作302,计算设备识别专用于微服务的多个成员中给定成员的统计学评估。在一种实现方式中,计算设备计算统计学评估。该实现方式包括计算集群内多个成员中每一个的统计学评估,并计算多个成员的组的平均统计学评估。平均统计学评估给计算设备提供了基准测量,用于与给定成员相比较。计算设备可继而识别给定成员的统计学评估与多个成员的组的平均统计学评估之间的差值。该差值允许计算设备应用用于控制要在给定成员处执行哪个动作的策略。例如,如果差值较高,这将指示缩减集群并从集群中移除该成员。如果差值最小,这将指示回收该给定成员(例如,销毁并重建)。如果差值适中,这将指示扩展集群并将附加的成员加入集群。这些示例中的每一个都是允许集群以最小的中断继续执行微服务的动作。这允许其他成员继续执行微服务,而不会响应于所识别的成员正经历软故障而降低整个集群。计算统计学评估可包括从每个成员获取度量数据并计算该给定成员的平均度量。因此,实现方式包括利用数学公式、概率来分析数字数据,用于推断该成员与整个集群中正操作的成员的比例。
在操作304,基于所识别的统计学评估,计算设备检测给定成员是否正在经受软故障。与先前示例一致,操作304识别成员组的平均统计学评估和给定成员的统计学评估的差值。该差值指示该成员是否正在经历软故障。响应于检测到给定成员正在经历软故障,计算设备在该给定成员处执行动作,如操作308。响应于计算设备确定给定成员未在经历软故障,计算设备不在给定成员处执行动作,如操作306。
在操作306,响应于计算设备未检测到软故障,计算设备不执行动作。与先前实现方式一致,假设统计学评估之间的差值可忽略不计,这可指示给定成员未在经历软故障。在该操作中,给定成员与其它多个成员一起继续执行微服务而不受计算设备的干扰。
在操作308,响应于检测到给定成员正在经历软故障,计算设备执行动作以使该集群内的其他成员继续执行微服务。要在给定成员处执行的动作的示例包括:执行回收(例如,销毁并重建),通过增加附加的成员来扩展集群,以及通过移除给定成员来缩减集群。在实现方式中,基于计算统计学评估之间的差值,策略被应用。策略指示在给定成员处执行所述动作中的哪个。例如,策略可给出阈值以使如果差值的量高于阈值,这可指示从集群中移除成员。在策略的另一示例中,如果差值的量小于阈值,则可在给定成员处执行回收。以这种方式,策略控制应当在给定成员处执行所述动作中的那个。该实现方式在后面附图中详细解释。
图4是图示由计算设备可执行以在多个动作中选择要在正经历软故障的成员处执行的动作的方法的流程图。在讨论图4时,可参考图1-2中的部件以提供上下文示例。在一种实现方式中,图1-2中的协调器108和208执行操作402-428,以在正经受软故障的成员处执行动作。在另一实现方式中,协调器108和集群104协同操作,以执行操作402-428。尽管图4被描述为由计算设备实现,但其可在其他合适的硬件部件上执行。例如,图4可以以机器可读存储介质504和604上的可执行指令的形式实现,如图5-6中。
在操作402,计算设备从专用于微服务的集群内的每个成员收集度量数据。度量数据是成员中每一个的以及每个成员如何随时间执行的健康状况信息。度量数据指示每个成员随时间的执行性能,其可指示成员的缓慢退化。因此,度量数据可包括消息流速率、数据收集、处理能力、存档速率、故障风险、给定成员为总体微服务执行任务的速度有多快、来自成员的通信、每个成员在一定时间段内执行的周期数、可用处理线程的总数、占用处理线程数、成员处理消息的总数以及其他。在另一实现方式中,度量数据基于随机回收来收集,以使每个成员在交错时间被重启,如操作408。在该示例中,一个成员可执行回收,并且基于回收完成,另一成员执行回收。这提供了数据的多样性,以使计算设备能够观察与集群总体健康状况相比,每个成员如何随时间执行。
在操作404,计算设备在计算***的存储区域中存储度量数据。度量数据从集群内的每个成员随时间收集。在该示例中,度量数据可被收集并存储直到被读取以计算统计学评估。存储度量数据允许数据随时间累积,以观察每个成员如何相对于彼此而改变。
在操作406,计算设备从存储器中读取度量数据。计算设备使用度量数据计算任何给定成员的统计学评估。因此,计算还可以继续计算集群内成员的组的平均统计学评估,如操作410。
在操作408,计算设备指示专用于微服务的集群内成员中的每一个执行回收。计算设备以随机化顺序指示成员中的每一个,以使回收能够以交错的方式执行。这表示一个成员的回收可在另一成员的回收完成之前或之后执行。如先前所解释,指示每个成员以随机化方式执行回收提供了数据的多样性。数据的多样性提供了安全性,以防止出现集群中所有成员共同经历软故障的情况。
在操作410,计算设备确定集群内每个成员的统计学评估。确定统计学评估包括计算每个成员的值,以使能够作出关于该成员与集群内的总体成员组相比的推断。计算设备可收集信息并计算执行该微服务的成员的实例间的均值和偏差。所计算的评估与平均统计学评估相比较,以检测集群的退化的成员。以这种方式,统计分析被用于集群内执行相似任务因此具有相似负荷的成员间。在该操作中,统计分析针对集群中专用于该微服务的每个成员执行。在进一步实现方式中,这可包括识别统计学评估与组的平均评估之间的差值。在该实现方式中,每个成员与成员组整体相比较,如操作412。基于该差值,计算设备可应用包括指示要执行哪个动作的规则的策略,如操作414。
在操作416,基于确定给定成员(例如,所识别的成员)的统计学评估,计算设备确定该给定成员是否正在经历软故障。响应于确定给定成员正在经受软故障,计算设备继续执行操作422-428中所列出的动作中的一个或多个。响应于确定给定成员未在经历软故障,计算设备继续操作418并且不干扰微服务在该给定成员处的执行。操作416可类似于图3中的操作304的功能。
在操作418,响应于确定给定成员未在经历软故障,计算设备可不执行动作。可替代地,计算设备可继续监视该给定成员,以保证不存在软故障。因此,计算设备不干扰该给定成员正在执行的功能任务。操作418可类似于图3中的操作306的功能。
在操作420,响应于计算设备确定给定成员正在经历故障,计算设备识别要执行422-428处的动作列表中的哪一个。在该实现方式中,计算设备应用如操作414处的控制要执行操作422-428处的动作中的哪一个的策略。如先前所解释,策略既可使用各个给定成员的统计学评估,又可使用集群与各个成员的平均统计学评估之间的差值。操作420可类似于图3中的操作308的功能。
操作422-428响应于确定给定成员已经历软故障,计算设备提供指令以执行所列动作之一。所列出的要在给定成员处执行的动作包括:执行回收,在此期间给定成员被销毁然后通过指令重建;通过增加专用于与其他成员共同执行微服务的附加成员来扩展集群;通过移除给定成员来缩减集群;以及销毁给定成员,此成员无法被重建至其他集群。
现参见图5-6,图示了根据本公开多个示例的具有执行机器可读指令的处理资源502和602的联网设备500和600的示例框图。机器可读指令表示可由相应处理资源502和602提取、解码和/或执行的指令。尽管以特定顺序图示,但这些指令并非意图限制于此。相反,可以明确预期,多个指令可以以不同的顺序发生和/或与图5-6所图示的那些之外的其他指令同时发生。
图5是具有执行机器可读存储介质504内的指令506-510的处理资源502的计算设备500的框图。尽管联网设备500包括处理资源502和机器可读存储介质504,但还可包括适用于本领域技术人员的其他部件。例如,计算设备500可包括控制器、内存存储器或其他合适类型的部件。计算设备500是具有能够执行指令506-510的处理资源502的电子设备,因此计算设备500的实施例包括诸如服务器、交换机、路由器、无线接入点(WAP)的联网设备或其他类型的联网设备。计算设备500的其他实施例包括诸如笔记本、个人计算机、移动设备的电子设备,或能够执行指令506-510的其他类型的电子设备。指令506-510可实现为方法、功能、操作以及实现为存储在存储介质504上的机器可读指令的其他进程,存储介质504可以是非暂存的,诸如硬件存储设备(例如,随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM、电可擦除ROM、硬盘驱动以及闪存)。
处理资源502可提取、解码和执行指令506-510,以检测集群内的成员中正在经历软故障的成员。具体地,处理资源502执行指令506-510,以:检测专用于执行微服务的集群内的多个成员中每一个的统计学评估;基于统计学评估,检测集群内的多个成员中哪一个正在经历软故障;以及确定要在正经历软故障的成员处执行多个动作中的哪个动作。
机器可读存储介质504包括指令506-510,供处理资源502进行提取、解码和执行。在另一实施例,机器可读存储介质504可以是包含或存储可执行指令的电子的、磁性的、光学的、内存、存储器、闪速驱动或其他物理设备。因此,机器可读存储介质504可包括例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储器驱动、内存缓存、网络存储器、压缩盘只读存储器(CDROM)等。因此,机器可读存储介质504可包括应用和/或固件,其可独立地使用和/或结合处理资源502使用,以提取、解码和/或执行机器可读存储介质504的指令。应用和/或固件可存储在机器可读存储介质504上和/或存储在联网设备500的另一位置。
图6是具有执行机器可读存储介质604内的指令606-616的处理资源602的计算设备600的框图。尽管联网设备600包括处理资源602和机器可读存储介质604,其还可包括适用于本领域技术人员的其他部件。例如,计算设备600可包括控制器、内存存储器或其他合适类型的部件。计算设备600是具有能够执行指令606-628的处理资源602的电子设备,因此计算设备600的实施例包括诸如服务器、交换机、路由器、无线接入点(WAP)、笔记本、个人计算机之类的电子设备或其他类型的计算设备。计算设备600的其他实施例包括诸如计算设备的电子设备或能够执行指令606-628的其他类型的电子设备。指令606-628可被实现为方法、功能、操作以及被实现为存储于存储介质604上的机器可读指令的其他进程,存储介质604可为非暂存的,诸如硬件存储设备(例如,随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM、电可擦除ROM、硬盘驱动以及闪存)。
处理资源602可提取、解码并执行指令606-628,以确定要在正经历软故障的成员处执行哪个动作。具体地,处理资源602执行指令606-628以:以随机方式在每个成员处执行回收,以使度量数据在相互不同的时间被收集;从专用于微服务的集群内的多个成员中的每一个收集和/或获取度量数据;针对集群内的多个成员中的每一个计算统计学评估,包括识别给定成员的统计学评估与多个成员的组的平均统计学评估相比的差值;基于该差值,应用策略以使该差值如果高于阈值或低于阈值,则该差值控制要执行哪个动作;检测多个成员的组内正经历软故障的成员;以及确定要执行哪个动作,包括成员回收、通过增加成员来扩展集群或通过移除成员来缩减集群。
机器可读存储介质604包括供处理资源602提取、解码并执行的指令606-628。在另一实施例,机器可读存储介质604可以是电子的、磁性的、光学的,内存、存储器、闪速驱动或者包含或存储可执行指令的其他物理设备。因此,机器可读存储介质604可包括例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储器驱动、内存缓存、网络存储、压缩盘只读存储器(CDROM)等。因此,机器可读存储介质604可包括应用和/或固件,其可独立使用和/或结合处理资源602使用,以提取、解码和/或执行机器可读存储介质604的指令。应用和/或固件可存储于机器可读存储介质604上和/或存储于联网设备600的另一位置。
尽管已在本文图示并描述了特定实施例,但本领域普通技术人员容易理解,被估计为实现相同目的的多种可替代和/或等同的实施例或实现方式可代替所图示和描述的实施例而不偏离本公开的范围。本领域技术人员容易理解,实施例可用多种方式实现。本申请意图覆盖本文讨论的实施例的改变或变型。因此,明显地,实施例意图仅由权利要求及其等同来限定。

Claims (15)

1.一种计算设备可执行的方法,所述方法包括:
识别专用于微服务的集群内多个成员中的成员的统计学评估;
基于所述统计学评估,在所述集群内识别所述多个成员中正在经历软故障的成员,其中软故障是***和/或部件随时间的退化;
响应于在所述集群内对所述多个成员中正在经历软故障的所述成员的所述识别:
确定多个动作中的哪个动作应该在所述集群内的所述多个成员中正在经历软故障的所述成员处执行;以及
执行所述动作使得所述集群继续执行所述微服务,
从所述多个成员中的每一个收集度量数据;
将所述度量数据存储在数据存储中;以及
从所述数据存储读取所述度量数据,以计算每个成员的统计学评估,所述方法还包括:
随机地对所述集群中的每个成员执行回收,以使所述度量数据为所述多个成员中的每一个提供基准测量,并且其中所述多个成员中的每一个在不同的时间执行回收。
2.根据权利要求1所述的方法,其中执行动作包括以下至少之一:回收所述成员,通过增加成员来扩展所述集群,和通过移除集群中的成员来缩减所述集群。
3.根据权利要求1所述的方法,其中在所述集群内的所述多个成员中的成员中检测所述软故障包括:
在多个周期中通过比较来识别所述集群内的所述多个成员中的成员的统计学评估与所述集群内的所述多个成员的平均统计学评估之间的差值;以及
基于所识别的差值来应用策略,所述策略控制针对所识别的软故障在所述集群内的所述多个成员中的成员处执行哪个动作。
4.根据权利要求1所述的方法,其中不同的集群专用于不同类型的微服务。
5.根据权利要求1所述的方法,其中执行动作使得所述集群继续执行所述微服务包括:
重启被识别出所述软故障的成员。
6.一种计算***,包括:
集群,包括专用于微服务的执行的多个成员;
协调器,用于:
获取所述集群中多个成员中的成员的统计学评估;
基于所述统计学评估,识别所述多个成员中正在经历软故障的成员,其中软故障是***和/或部件随时间的退化;并且
响应于所识别的所述成员,在多个动作中确定要在所识别的所述成员处执行的动作,并且执行所述动作以使所述集群继续所述微服务;以及
数据存储,用于:
接收所述集群中所述多个成员中的每一个的度量数据;并且
存储所述度量数据,供所述协调器读取,
所述协调器用于:
从数据存储中获取所述度量数据,以计算每个成员的所述统计学评估,所述协调器还用于:
随机地对所述集群中的每个成员执行回收,以使所述度量数据为所述多个成员中的每一个提供基准测量,并且其中所述回收针对所述多个成员中的每个成员在不同的时间处执行。
7.根据权利要求6所述的***,所述协调器还:
基于从所述多个成员中的每一个获取的度量数据,计算所述统计学评估;并且
基于所计算的统计学评估来应用策略,所述策略控制要在所识别的成员处执行哪个动作。
8.根据权利要求6所述的***,包括:
另一集群,所述另一集群专用于与所述集群不同类型的微服务。
9.根据权利要求6所述的***,包括:
集群管理器,所述集群管理器在所识别的成员处执行所述动作。
10.根据权利要求6所述的***,其中要在所识别的成员处执行的所述动作包括以下至少之一:回收所识别的成员,通过增加成员来扩展所述集群,和通过移除成员来缩减所述集群。
11.一种非暂存机器可读存储介质,包括指令,所述指令当由处理资源执行时使计算设备:
确定专用于微服务的集群中的多个成员中的成员的统计学评估;
基于所述统计学评估,检测所述集群中的所述多个成员中正在经历软故障的成员,其中软故障是***和/或部件随时间的退化;
响应于检测到所述集群中正在经历所述软故障的成员,确定要在所述成员处执行多个动作中的哪个动作,执行所述动作以使所述集群继续所述微服务,
从所述多个成员中的每一个收集度量数据;
将所述度量数据存储在数据存储中;以及
从所述数据存储读取所述度量数据,以计算每个成员的统计学评估,所述指令还包括当由处理资源执行时使所述计算设备执行的指令,以:
随机地对所述集群中的每个成员执行回收,以使所述度量数据为所述多个成员中的每一个提供基准测量,其中所述回收针对所述多个成员中的每个成员在不同的时间处执行。
12.根据权利要求11所述的非暂存机器可读存储介质,其中为了确定专用于微服务的集群中的多个成员的统计学评估,所述非暂存机器可读存储介质包括当由所述处理资源执行时使所述计算设备进行以下操作的指令:
获取所述多个成员中每一个的当前度量数据;以及
基于所述当前度量数据,计算所述多个成员中每一个的所述统计学评估;
或者,以:
识别一个成员的统计学评估和所述集群中所述多个成员的平均统计学评估之间的差值;以及
基于所识别的差值来应用策略,所述策略控制应当在所述成员处执行所述多个动作中的哪个动作。
13.根据权利要求12所述的非暂存机器可读存储介质,包括当由所述处理资源执行时使所述计算设备进行以下操作的指令:
在正经历所述软故障的成员处执行所确定的动作。
14.根据权利要求13所述的非暂存机器可读存储介质,其中要在所述成员处执行的多个动作包括以下至少之一:回收所述成员,通过增加成员来扩展所述集群,和通过移除成员来缩减所述集群。
15.根据权利要求11所述的非暂存机器可读存储介质,包括当由所述处理资源执行时使所述计算设备进行以下操作的指令:
在所述多个成员中的每一个处,遍及多个周期从所述多个成员中的每一个收集度量数据。
CN201910097385.0A 2018-01-31 2019-01-31 识别成员处的软故障 Active CN110096407B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/885,634 2018-01-31
US15/885,634 US11102060B2 (en) 2018-01-31 2018-01-31 Identification of a soft failure at a member

Publications (2)

Publication Number Publication Date
CN110096407A CN110096407A (zh) 2019-08-06
CN110096407B true CN110096407B (zh) 2023-10-13

Family

ID=65013540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910097385.0A Active CN110096407B (zh) 2018-01-31 2019-01-31 识别成员处的软故障

Country Status (3)

Country Link
US (1) US11102060B2 (zh)
EP (1) EP3522018B1 (zh)
CN (1) CN110096407B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10511690B1 (en) * 2018-02-20 2019-12-17 Intuit, Inc. Method and apparatus for predicting experience degradation events in microservice-based applications
US11082287B2 (en) * 2019-03-11 2021-08-03 At&T Intellectual Property I, L.P. Data driven systems and methods to isolate network faults
US11397630B2 (en) 2020-01-02 2022-07-26 Kyndryl, Inc. Fault detection and correction of API endpoints in container orchestration platforms
US11334453B2 (en) * 2020-05-07 2022-05-17 Oracle International Corporation System and method for providing fault tolerance and resiliency in a cloud network
CN113704052B (zh) * 2021-07-21 2023-09-22 郑州云海信息技术有限公司 一种微服务架构的运维***、方法、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102124697A (zh) * 2008-08-18 2011-07-13 F5网络公司 更新网络流量管理设备同时维持有效性
CN102782656A (zh) * 2010-02-26 2012-11-14 赛门铁克公司 管理应用程序可用性的***和方法
DE102012208537A1 (de) * 2011-05-25 2012-11-29 GM Global Technology Operations LLC (n.d. Ges. d. Staates Delaware) Detektieren von Anomalien in Fehlercodeeinstellungen und Verbessern von Kundendienstdokumenten unter Verwendung von analytischen Symptomen
CN103428008A (zh) * 2013-08-28 2013-12-04 浙江大学 面向多用户群的大数据分发策略
CN107590339A (zh) * 2017-09-14 2018-01-16 西北工业大学 一种综合模块化航电***性能衰退建模与仿真方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484132B2 (en) 2005-10-28 2009-01-27 International Business Machines Corporation Clustering process for software server failure prediction
US7730364B2 (en) 2007-04-05 2010-06-01 International Business Machines Corporation Systems and methods for predictive failure management
US8316113B2 (en) * 2008-12-19 2012-11-20 Watchguard Technologies, Inc. Cluster architecture and configuration for network security devices
JP2012085115A (ja) * 2010-10-12 2012-04-26 Panasonic Corp 通信端末およびクラスター監視方法
US8595556B2 (en) 2010-10-14 2013-11-26 International Business Machines Corporation Soft failure detection
US8677191B2 (en) 2010-12-13 2014-03-18 Microsoft Corporation Early detection of failing computers
US9146705B2 (en) * 2012-04-09 2015-09-29 Microsoft Technology, LLC Split brain protection in computer clusters
US9830236B2 (en) * 2013-06-05 2017-11-28 Vmware, Inc. System and method for assigning memory reserved for high availability failover to virtual machines
US10855521B2 (en) * 2015-06-29 2020-12-01 Vmware, Inc. Efficient replacement of clients running large scale applications
US11368372B2 (en) * 2016-06-03 2022-06-21 Nutanix, Inc. Detection of outlier nodes in a cluster
US10516589B2 (en) * 2016-08-31 2019-12-24 At&T Intellectual Property I, L.P. Sensor web management system for internet of things sensor devices with physically imprinted unique frequency keys
US10223536B2 (en) * 2016-12-29 2019-03-05 Paypal, Inc. Device monitoring policy
US20180211176A1 (en) * 2017-01-20 2018-07-26 Alchemy IoT Blended IoT Device Health Index
US10147040B2 (en) * 2017-01-20 2018-12-04 Alchemy IoT Device data quality evaluator
US11190431B2 (en) * 2017-07-18 2021-11-30 Vmware, Inc. Prioritized client-server communications based on server health
US11520880B2 (en) * 2017-11-03 2022-12-06 International Business Machines Corporation Identifying internet of things network anomalies using group attestation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102124697A (zh) * 2008-08-18 2011-07-13 F5网络公司 更新网络流量管理设备同时维持有效性
CN102782656A (zh) * 2010-02-26 2012-11-14 赛门铁克公司 管理应用程序可用性的***和方法
DE102012208537A1 (de) * 2011-05-25 2012-11-29 GM Global Technology Operations LLC (n.d. Ges. d. Staates Delaware) Detektieren von Anomalien in Fehlercodeeinstellungen und Verbessern von Kundendienstdokumenten unter Verwendung von analytischen Symptomen
CN103428008A (zh) * 2013-08-28 2013-12-04 浙江大学 面向多用户群的大数据分发策略
CN107590339A (zh) * 2017-09-14 2018-01-16 西北工业大学 一种综合模块化航电***性能衰退建模与仿真方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Efficiency Evaluation of City Circular Economy Based on the Super-Efficient Mixed DEA Cluster Model;Yawei Wang等;2010 International Conference on Management and Service Science;全文 *
Web应用进程自动监控及故障处理;李承康;;金融科技时代(第05期);全文 *
分析典型B超软故障及维修;熊鹏;;世界最新医学信息文摘(第85期);全文 *
多集群计算环境故障监控管理***;张毅;陈良;庞剑;;计算机工程与科学(第11期);全文 *

Also Published As

Publication number Publication date
CN110096407A (zh) 2019-08-06
EP3522018A2 (en) 2019-08-07
EP3522018B1 (en) 2021-03-03
US11102060B2 (en) 2021-08-24
EP3522018A3 (en) 2019-10-02
US20190238399A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
CN110096407B (zh) 识别成员处的软故障
US11573867B2 (en) Smart dynamic restore for Kubernetes based applications
US11108859B2 (en) Intelligent backup and recovery of cloud computing environment
Sharma et al. CloudPD: Problem determination and diagnosis in shared dynamic clouds
EP2598993B1 (en) Providing application high availability in highly-available virtual machine environments
US10489232B1 (en) Data center diagnostic information
US9836952B2 (en) Alarm causality templates for network function virtualization
Dai et al. Self-healing and hybrid diagnosis in cloud computing
Cotroneo et al. A fault correlation approach to detect performance anomalies in virtual network function chains
Panda et al. {IASO}: A {Fail-Slow} Detection and Mitigation Framework for Distributed Storage Services
US9292371B1 (en) Systems and methods for preventing failures of nodes in clusters
EP3330855A1 (en) Managing hardware resources
US10255124B1 (en) Determining abnormal conditions of host state from log files through Markov modeling
CN110737924B (zh) 一种数据保护的方法和设备
US20210210217A1 (en) Internet of things (iot) hybrid alert and action evaluation
CN110457907B (zh) 一种固件程序检测方法和装置
US20170257297A1 (en) Computational node adaptive correction system
US9465643B1 (en) Systems and methods for monitoring a primary operating system (OS) and/or migrating data using an OS hypervisor
Khazaei et al. Adaptation as a service.
US11263069B1 (en) Using unsupervised learning to monitor changes in fleet behavior
EP3591530B1 (en) Intelligent backup and recovery of cloud computing environment
JP2015069384A (ja) 情報処理システム、情報処理システムの制御方法及び情報処理装置の制御プログラム
CN112799896A (zh) 分布式存储硬盘故障处理方法及装置
US9405605B1 (en) Correction of dependency issues in network-based service remedial workflows
JP6775452B2 (ja) 監視システム、プログラムおよび監視方法

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
GR01 Patent grant
GR01 Patent grant