CN114138551A - 分布式系统的监控方法、计算机设备及存储介质 - Google Patents
分布式系统的监控方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114138551A CN114138551A CN202111290386.0A CN202111290386A CN114138551A CN 114138551 A CN114138551 A CN 114138551A CN 202111290386 A CN202111290386 A CN 202111290386A CN 114138551 A CN114138551 A CN 114138551A
- Authority
- CN
- China
- Prior art keywords
- data processing
- component
- coordination service
- assembly
- restart
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种分布式系统的监控方法、计算机设备及存储介质。在本申请实施例中,分布式监控服务中任一监控组件都对部署在同一服务节点上的协调服务组件和数据处理组件的运行状态进行监控,并在监控到相应的协调服务组件的运行状态异常时,采用自动重启机制重新启动相应的协调服务组件和数据处理组件。另外,若仅仅监控到数据处理组件的运行状态异常时,也会采用重启机制重新启动相应的数据处理组件。进而实现分布式系统的异常自动发现和异常自动恢复,且从异常自动发现到异常自动恢复的自动化异常处理的效率更高,异常恢复的成功率更高。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种分布式系统的监控方法、计算机设备及存储介质。
背景技术
目前,分布式系统通过其上部署的分布式数据处理组件,对外提供数据处理组件。同时,为了便于解决分布式数据处理组件经常遇到的一些数据管理问题,通常分布式系统还部署了分布式应用程序协调服务。其中,分布式应用程序协调服务可以提供统一命名服务、状态同步服务、集群管理、分布式数据处理组件配置项的管理等。分布式应用程序协调服务例如为zookeeper软件或etcd软件,其中,zookeeper为分布式数据处理组件提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。etcd软件基于Go语言实现,帮助实现分布式系统数据的可用性和一致性。
实际应用中,分布式应用程序协调服务中的协调服务组件或分布式数据处理组件中的数据处理组件在运行过程中可能出现异常。通常这种情况下需要在第一时间通知管理员排查异常原因,并进行针对性异常恢复,待异常恢复之后,重新启动协调服务或数据处理组件以继续提供相应服务。然而,人工异常处理方式的效率低,且异常恢复的成功率较低。
发明内容
本申请的多个方面提供一种分布式系统的监控方法、计算机设备及存储介质,用以而实现针对分布式系统的自动化异常处理,改善异常处理效率和异常恢复的成功率。
本申请实施例提供一种分布式系统的监控方法,分布式系统包括多个服务节点,每个服务节点上部署有协调服务组件、数据处理组件和监控组件,且数据处理组件的运行依赖于协调服务组件的正常运行;该方法包括:
第一监控组件监控与其部署在同一服务节点上的第一协调服务组件和第一数据处理组件的运行状态;第一监控组件为任一监控组件;
若监控到第一协调服务组件的运行状态异常,则控制第一协调服务组件和第一数据处理组件终止运行,并控制第一协调服务组件重启,直至第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态或本轮重启次数达到第一最大重启次数为止;以及在第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态的情况下,控制第一数据处理组件重启,直至第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止;
若监控到第一数据处理组件的运行状态异常,则仅控制第一数据处理组件终止运行,并控制第一数据处理组件重启,直至第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止。
本申请实施例还提供一种计算机设备,包括:存储器和处理器;
存储器,用于存储计算机程序;
处理器耦合至存储器,用于执行计算机程序以用于执行分布式系统的监控方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器实现分布式系统的监控方法中的步骤。
在本申请实施例中,分布式监控服务中任一监控组件都对部署在同一服务节点上的协调服务组件和数据处理组件的运行状态进行监控,并在监控到相应的协调服务组件的运行状态异常时,采用自动重启机制重新启动相应的协调服务组件和数据处理组件。另外,若仅仅监控到数据处理组件的运行状态异常时,也会采用重启机制重新启动相应的数据处理组件。进而实现分布式系统的异常自动发现和异常自动恢复,且从异常自动发现到异常自动恢复的自动化异常处理的效率更高,异常恢复的成功率更高。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的一种分布式系统的结构示意图;
图2为本申请一示例性实施例提供的一种分布式系统的监控方法的流程示意图;
图3为本申请一示例性实施例提供的另一种分布式系统的监控方法的流程示意图;
图4为本申请一示例性实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有人工异常处理方式的效率低,且异常恢复的成功率较低的技术问题,本申请实施例提供一种分布式系统的监控方法、计算机设备及存储介质。在本申请实施例中,分布式监控服务中任一监控组件都对部署在同一服务节点上的协调服务组件和数据处理组件的运行状态进行监控,并在监控到相应的协调服务组件的运行状态异常时,采用自动重启机制重新启动相应的协调服务组件和数据处理组件。另外,若仅仅监控到数据处理组件的运行状态异常时,也会采用重启机制重新启动相应的数据处理组件。进而实现分布式系统的异常自动发现和异常自动恢复,且从异常自动发现到异常自动恢复的自动化异常处理的效率更高,异常恢复的成功率更高。
图1为本申请一示例性实施例提供的一种分布式系统的结构示意图。如图1所示,该系统上部署有分布式应用程序协调服务、分布式数据处理服务和分布式监控服务。其中,分布式系统包括多个服务节点101,每个服务节点101可以是一个服务器。任一服务节点101上部署有分布式应用程序协调服务中的一个协调服务组件104、分布式数据处理服务中的一个数据处理组件102和分布式监控服务中的一个监控组件103,且所述数据处理组件102的运行依赖于所述协调服务组件104的正常运行,也即部署在同一服务节点101的协调服务组件104正常运行是关联的数据处理组件102正常运行的前提保证。其中,同一服务节点101部署的协调服务组件104分别与关联的监控组件103、数据处理组件102通信连接。另外,部署在同一服务节点101上的监控组件103和数据处理组件102通过协调服务组件104进行数据交互。
其中,分布式应用程序协调服务是一个为分布式应用提供一致性服务的软件,主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。其中,分布式应用程序协调服务例如包括但不限于:zookeeper、etcd。zookeeper是分布式系统的可靠协调系统,其提供的功能包括:配置维护、域名服务、分布式同步、组服务等。Etcd的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。
在本申请实施例中,分布式应用程序协调服务是由分布在分布式系统中各个服务节点上的协调服务组件形成的,属于分布式应用程序协调服务的各个协调服务组件相互协调工作。
分布式数据处理服务是由部署在分布式系统上的多个数据处理组件102组成的系统,多个数据处理组件102通过网络进行通信,共同对外提供数据处理服务。具体应用时,分布式数据处理服务可以是任意的提供各种服务的系统,例如可以包括但不限于分布式计算系统、分布式存储系统或分布式文件系统等。
分布式监控服务是由部署在分布式系统上的多个监控组件103组成的系统,共同对外提供监控服务。
在本申请实施例中,分布式监控服务中任一监控组件103都对部署在同一服务节点101上的协调服务组件104和数据处理组件102的运行状态进行监控,并在监控到相应的协调服务组件104的运行状态异常时,采用自动重启机制重新启动相应的协调服务组件104和数据处理组件102。另外,若仅仅监控到数据处理组件102的运行状态异常时,也会采用重启机制重新启动相应的数据处理组件102。进而实现分布式系统的异常自动发现和异常自动恢复,且从异常自动发现到异常自动恢复的自动化异常处理的效率更高,异常恢复的成功率更高。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本申请一示例性实施例提供的一种分布式系统的监控方法的流程示意图。参见图2,该方法包括以下步骤:
201、第一监控组件监控与其部署在同一服务节点上的第一协调服务组件和第一数据处理组件的运行状态。
202、若监控到第一协调服务组件的运行状态异常,则控制第一协调服务组件和第一数据处理组件终止运行,并控制第一协调服务组件重启,直至第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态或本轮重启次数达到第一最大重启次数为止;以及在第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态的情况下,控制第一数据处理组件重启,直至第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止。
203、若监控到第一数据处理组件的运行状态异常,则仅控制第一数据处理组件终止运行,并控制第一数据处理组件重启,直至第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止。
值得注意的是,步骤202的执行顺序可以在步骤203之前,也可以在步骤203之后,本申请实施例不做限制。
在本申请实施例中,第一监控组件是指分布式监控服务中任一监控组件。第一协调服务组件是与第一监控组件部署在同一服务节点上的分布式应用程序协调服务中的任一协调服务组件,第一数据处理组件是与第一监控组件部署在同一服务节点上的分布式监控服务中的任一数据处理组件。
第一监控组件首先启动第一协调服务组件,并在监控到第一协调服务组件的运行状态正常后,启动第一数据处理组件,并监控第一数据处理组件的运行状态。若第一监控组件监控到第一数据处理组件的运行状态正常,第一监控组件确认完成第一协调服务组件和第一数据处理组件的启动任务,并持续监控第一协调服务组件和第一数据处理组件的运行状态。
具体应用时,第一监控组件可能会监控到第一协调服务组件的运行状态异常的情形。针对这种情形,由于第一数据处理组件的运行依赖于第一协调服务组件的正常运行,第一协调服务组件的运行状态异常在一定程度上也会导致第一数据处理组件的运行状态异常。因此,为了保证分布式系统的可靠性,在监控到第一协调服务组件的运行状态异常时,控制第一协调服务组件和第一数据处理组件都终止运行,采用自动重启机制重新启动第一协调服务组件和第一数据处理组件。
具体应用时,第一监控组件还可能会监控到第一协调服务组件的运行状态正常,但是第一数据处理组件的运行状态异常的情形。针对这种情形,仅需重启第一数据处理组件便可。
本申请实施例对第一协调服务组件的运行状态的监控方式不做限制。例如,可以通过检查第一协调服务组件的进程状态来判断第一协调服务组件的运行状态是正常还是异常。若第一协调服务组件的进程状态正常,则第一协调服务组件的运行状态正常;若第一协调服务组件的进程状态异常,则第一协调服务组件的运行状态异常。作为一种示例,可以通过系统守护进程管理工具来检查第一协调服务组件的进程状态。例如,系统守护进程管理工具为systemd,该systemd可以使用“systemctl status+服务名”命令查询进程状态,通过该命令返回的关键字进行判断。当status字段的返回值是“active(running)”时,确认服务名标识的对象的进程处于正常状态。当status字段的返回值不是“active(running)”时,确认服务名标识的对象的进程处于异常状态。作为另一种示例,通过进程名或可执行文件的路径查询系统中是否存在相应的进程,若存在,则第一协调服务组件的进程状态正常,若不存在,则第一协调服务组件的进程状态异常。又例如,可以通过分布式应用程序协调服务提供的机制查询第一协调服务组件的运行状态。其中,分布式应用程序协调服务管理和维护各个协调服务组件的运行状态。
本申请实施例对第一数据处理组件的运行状态的监控方式不做限制。例如,可以通过检查第一数据处理组件的进程状态来判断第一数据处理组件的运行状态是正常还是异常。若第一数据处理组件的进程状态异常,则第一数据处理组件的运行状态异常;若第一数据处理组件的进程状态正常,则结合第一数据处理组件与第一协调服务组件的通信连接状态共同判断第一数据处理组件的运行状态是正常还是异常。关于检查第一数据处理组件的进程状态检查方式可以参见前述内容记载的第一协调服务组件的进程状态检查方式,在此不做赘述。
进一步可选的,结合第一数据处理组件与第一协调服务组件的通信连接状态共同判断第一数据处理组件的运行状态是正常还是异常的一种可选实施方式是:查询多个协调服务组件中是否存在包括第一数据处理组件对应的临时节点的协调服务组件,临时节点是在第一数据处理组件与第一协调服务组件建立通信连接之后创建的;若多个协调服务组件中存在包括第一数据处理组件对应的临时节点的协调服务组件,则第一数据处理组件的运行状态正常;若多个协调服务组件中不存在不包括第一数据处理组件对应的临时节点的协调服务组件,则第一数据处理组件的运行状态异常。
值得注意的是,第一监控组件可以向第一协调服务组件发送查询请求,第一协调服务组件响应查询请求在本地查询第一数据处理组件对应的临时节点;以及将查询请求转发给其他协调服务组件,其他协调服务组件响应查询请求并向第一协调服务组件返回查询结果;第一协调服务组件收集其他协调服务组件的查询结果以及自身的查询结果,并将全部的查询结果反馈给第一监控组件,以供第一监控组件确认是否有协调服务组件中存在对应的临时节点。
需要注意的是,在第一数据处理组件与第一协调服务组件建立通信连接之后,第一数据处理组件通过协调服务客户端API(Application Programming Interface,应用程序接口)向分布式应用程序协调服务中的任一协调服务组件发送临时节点创建请求,以请求任一协调服务组件创建能够指示第一数据处理组件与第一协调服务组件建立通信连接的临时节点。
举例来说,分布式应用程序协调服务通常都会提供服务端与客户端的保活机制,以zookeeper为例,zookeeper中保存任一数据处理组件中的协调服务客户端API与对应的协调服务组件建立通信连接时所创建的临时节点。当协调服务客户端API与对应的协调服务组件连接断开时,关联的临时节点从zookeeper中删除。于是,第一数据处理组件可以查询分布式应用程序协调服务上是否存在包括第一数据处理组件对应的临时节点的协调服务组件,来进一步确认第一数据处理组件的运行状态是异常还是正常。
进一步可选的,若查询不到包括第一数据处理组件对应的临时节点的协调服务组件,则第一监控组件向多个协调服务组件中至少一个协调服务组件发送第一修改请求,以使多个协调服务组件中至少一个协调服务组件将状态管理表单中存储的第一数据处理组件的运行状态由上线状态修改为下线状态。
值得注意的是,分布式应用程序协调服务中一个或多个协调服务组件在接收到第一监控组件发送的第一修改请求时,多个协调服务组件相互协作,决策出一个协调服务组件或多个协调服务组件对状态管理表单进行修改。在决策出多个协调服务组件对状态管理表单进行修改时,可以控制每个协调服务组件分别修改状态管理表单中不同部分的内容。另外,在只有一个协调服务组件接收到第一监控组件发送的第一修改请求时,该协调服务组件除了请求多个协调服务组件相互协作,决策出一个协调服务组件或多个协调服务组件对状态管理表单进行修改之外,该协调服务组件也可以响应第一修改请求对状态管理表单进行修改。
其中,分布式应用程序协调服务中维护和管理了一个全局唯一的状态管理表单。该状态管理表单记录分布式数据处理服务中各个数据处理组件的运行状态。若数据处理组件在状态管理表单中记录的运行状态是上线状态,说明该数据处理组件没有从分布式数据处理服务中脱离,也即数据处理组件属于分布式数据处理服务的一个节点。若数据处理组件在状态管理表单中记录的运行状态是下线状态,说明该数据处理组件从分布式数据处理服务中脱离,也即数据处理组件不属于分布式数据处理服务的一个节点。
在本申请实施例中,针对第一协调服务组件的运行状态从正常变化为异常后,则进行新一轮重启第一协调服务组件的工作。针对每轮重启第一协调服务组件,本轮重启次数小于或等于预设的第一最大重启次数,其中,第一最大重启次数可以根据实际应用需求灵活设置。
同样,针对第一数据处理组件的运行状态从正常变化为异常,则进行新一轮重启第一数据处理组件的工作。或者,若第一协调服务组件需要重启,则进行新一轮重启第一数据处理组件的工作。针对每轮重启第一协调服务组件,本轮重启次数小于或等于预设的第二最大重启次数,其中,第二最大重启次数可以根据实际应用需求灵活设置。
值得注意的是,本申请实施例通过控制第一协调服务组件和第一数据处理组件重启次数,可以自动恢复一些可自愈的异常,无需人工介入异常故障排查。若第一协调服务组件的本轮重启次数达到第一最大重启次数时运行状态仍然异常或第一数据处理组件的本轮重启次数达到第二最大重启次数时运行状态仍然异常,说明分布式系统当前存在无法自愈的异常,需要人工介入异常故障排查。此时,第一监控组件可以则输出告警信息,告警信息用于提示采用人工异常处理方式进行处理。例如,可以将告警信息输出至运维人员的终端设备,运维人员在终端设备上查看告警信息,并启动异常故障排查工作。进而实现针对分布式系统的整个监控体系更加完整,可以实现对各种异常的监控及异常后的闭环处理。
另外,第一数据处理组件的重启时间间隔和第一协调服务组件的重启时间间隔根据实际应用需求设置。应理解,第一数据处理组件或第一协调服务组件相邻两次重启的时间间隔需要大于或等于相应的重启时间间隔。
值得注意的是,分布式监控服务可以完全自动地实现异常数据处理组件的恢复,并在恢复过程种引入重启限制,提高了分布式数据处理服务异常恢复的成功率,降低了频繁重启导致数据处理组件异常加重的风险。
本申请实施例提供的分布式系统的监控方法,分布式监控服务中任一监控组件都对部署在同一服务节点上的协调服务组件和数据处理组件的运行状态进行监控,并在监控到相应的协调服务组件的运行状态异常时,采用自动重启机制重新启动相应的协调服务组件和数据处理组件。另外,若仅仅监控到数据处理组件的运行状态异常时,也会采用重启机制重新启动相应的数据处理组件。进而实现分布式系统的异常自动发现和异常自动恢复,且从异常自动发现到异常自动恢复的自动化异常处理的效率更高,异常恢复的成功率更高。另外,本申请实施例提供的分布式系统的监控方法能够在秒级时间发现精确地异常的数据处理组件,实现接近于实时的异常监控及发现能力,缩短了异常发现到恢复的时间,降低了异常带来的影响,减少异常误判的概率并降低数据处理组件异常加重的风险。严格的重启次数限制方案,用以预防频繁的重启导致数据处理组件陷入更严重的异常。
在本申请的上述或下述实施例中,为了提高重启第一数据处理组件的成功率,第一监控组件在控制第一数据处理组件重启之前,还可以重新配置第一数据处理组件的运行环境,并在配置完第一数据处理组件的运行环境后,控制第一数据处理组件重启。其中,重新配置运行环境包括但不限于对集群、网络配、CPU(central processing unit,中央处理器)、内存、硬盘等进行配置。
值得注意的是,在第一数据处理组件的运行环境重新配置好后才恢复第一数据处理组件,充分保证第一数据处理组件的正常恢复,用以确保可以在无管理员介入的情况下完全自动地实现一数据处理组件的恢复。
在本申请的上述或下述实施例中,重启第一数据处理组件的一种实施过程是:判断重启过程中导致第一数据处理组件出现异常状态的原因来自于第一数据处理组件内部还是第一数据处理组件外部;若来自于第一数据处理组件内部,则对第一数据处理组件的本轮重启次数增加一次;若来自于第一数据处理组件外部,则保持第一数据处理组件的本轮重启次数不变;以及在第一数据处理组件的本轮重启次数小于第二最大重启次数的情况下,控制第一数据处理组件进行重启;若重启失败,则返回判断重启过程中导致第一数据处理组件出现异常状态的原因来自于第一数据处理组件内部还是第一数据处理组件外部。
在本申请实施例中,当第一数据处理组件因为网络等外部原因导致异常时,不增加本轮重启次数。当第一数据处理组件程序内部错误导致异常时,增加本轮重启次数。实际应用时,可以通过系统守护进程管理工具来检查第一数据处理组件异常原因来自于内部还是外部。例如,系统守护进程管理工具为systemd,该systemd可以使用“systemctl status+服务名”命令查询进程状态,通过该命令返回的关键字进行判断。当status字段的返回值不是“active(running)”时,确认第一数据处理组件的进程处于异常状态。当返回的signal字段是“SEGV”、“ABRT”时,并且检查外部环境正常(例如检查网络是否能够与集群其它节点联通)时,则认为出现了内部异常;否则,认为是出现了外部异常。检查外部环境正常例如指的是第一数据处理组件能够与集群其它节点联通,集群其它节点包括分布式应用程序协调服务中的协调服务组件、分布式监控服务中的监控组件或者分布式数据处理服务中的数据处理组件。
通常外部的异常对第一数据处理组件并不会产生致命的影响,可以由分布式监控服务中的第一监控组件自动恢复第一数据处理组件。相比之下,内部异常就更为严重,需要分布式监控服务限制第一数据处理组件的重启次数。值得注意的是,区分导致第一数据处理组件出现异常状态的原因来自于第一数据处理组件内部还是第一数据处理组件外部,可以进一步提高分布式监控服务的自动化程度和精准性。
在本申请的上述或下述实施例中,第一监控组件启动第一协调服务组件,并监控到第一协调服务组件的运行状态正常,在首次启动第一数据处理组件之前,第一监控组件向多个协调服务组件中至少一个协调服务组件发送选举信息,以供至少一个协调服务组件请求所述多个协调服务组件共同协商以从多个监控组件中选举出主监控组件;以及向第一协调服务组件发送注册请求,以在成功注册的情况下接收第一协调服务组件发送的各种异常通告信息。其中,注册请求用于请求分布式应用程序协调服务将第一监控组件注册成为接收各种异常通告信息的监控组件。其中,第一协调服务组件发送的各种异常通告信息中包括其他协调服务组件向第一协调服务组件发送的各种异常通告信息。
进一步可选的,第一监控组件在本地注册所述第一监控组件与第一协调服务组件连接异常的第一异常通告信息。值得注意的是,在第一监控组件与第一协调服务组件连接异常时,第一监控组件在本地能够检测到第一异常通告信息;在第一监控组件与所述第一协调服务组件连接正常时,第一监控组件在本地不会检测到第一异常通告信息。
值得注意的是,利用分布式应用程序协调服务提供的通告机制,能够以较小的系统开销获得更快速的异常发现能力。
在本申请的上述或下述实施例中,在第一协调服务组件和第一数据处理组件均处于正常运行状态的情况下,若第一监控组件在本地检测到指示第一监控组件与第一协调服务组件连接异常的第一异常通告信息,则第一监控组件控制所述第一协调服务组件和所述第一数据处理组件终止运行,并控制第一协调服务组件重启,直至第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态或本轮重启次数达到第一最大重启次数为止;以及在第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态的情况下,控制第一数据处理组件重启,直至第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止。
值得注意的是,第一监控组件与第一协调服务组件连接异常可以是指第一监控组件中的协调服务客户端API与第一协调服务组件连接之间的通信连接断开。在第一监控组件与第一协调服务组件连接正常时,分布式应用程序协调服务中存在包括第一监控组件对应的临时节点的协调服务组件。在第一监控组件与第一协调服务组件连接异常时,分布式应用程序协调服务中不存在包括第一监控组件对应的临时节点的协调服务组件。
在本申请的上述或下述实施例中,在第一协调服务组件和第一数据处理组件均处于正常运行状态的情况下,若接收到多个协调服务组件中任一协调服务组件发送的指示分布式系统中有数据处理组件下线的第二异常通告信息,则判断下线的数据处理组件是否为第一数据处理组件;若是,则仅控制第一数据处理组件终止运行,并控制第一数据处理组件重启,直至第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止。
进一步可选的,若下线的数据处理组件不是第一数据处理组件,则第一监控组件判断自己是否为主监控组件;若第一监控组件是主监控组件,则判断与下线的数据处理组件部署在同一服务节点的第二监控组件是否在线;若第二监控组件不在线,则向多个协调服务组件中至少一个协调服务组件发送第二修改请求,以使多个协调服务组件中至少一个协调服务组件将状态管理表单中存储的下线的数据处理组件的运行状态由上线状态修改为下线状态。另外,若第二监控组件在线,则由第二监控组件自身向多个协调服务组件中至少一个协调服务组件发送修改请求,以使多个协调服务组件中至少一个协调服务组件将状态管理表单中存储的下线的数据处理组件的运行状态由上线状态修改为下线状态。
值得注意的是,分布式应用程序协调服务中一个或多个协调服务组件在接收到第一监控组件发送的第二修改请求时,多个协调服务组件相互协作,决策出一个协调服务组件或多个协调服务组件对状态管理表单进行修改。在决策出一个协调服务组件对状态管理表单进行修改时,可以控制决策出的协调服务组件修改状态管理表单。在决策出多个协调服务组件对状态管理表单进行修改时,可以控制每个协调服务组件分别修改状态管理表单中不同部分的内容。另外,在只有一个协调服务组件接收到第一监控组件发送的第二修改请求时,该协调服务组件除了请求多个协调服务组件相互协作,决策出一个协调服务组件或多个协调服务组件对状态管理表单进行修改之外,该协调服务组件也可以响应第二修改请求对状态管理表单进行修改。
其中,数据处理组件下线可以理解为该数据处理组件从分布式数据处理服务中脱离,也即数据处理组件不属于分布式数据处理服务的一个节点。数据处理组件在线可以理解为该数据处理组件没有从分布式数据处理服务中脱离,也即数据处理组件属于分布式数据处理服务的一个节点。
值得注意的是,在某个数据处理组件异常时,可以由部署在同一服务节点的监控组件设置数据处理组件的下线状态。由于监控组件组成了分布式监控服务,即使部署在同一服务节点的监控组件失效,仍然能够通过主监控组件来设置某个数据处理组件下线状态,实现高可靠的数据处理组件下线状态管理。另外,分布式监控服务以集群的形式运行,通过本地监控组件与主监控组协同工作的方式,提高了数据处理组件下线状态管理的可靠性。
为了更好的理解本申请实施例提供的方案,下面结合图3介绍一种在实际应用中的分布式系统的监控方法。参见图3,该分布式系统的监控方法包括以下步骤:
11、第一监控组件启动第一协调服务组件。
12、第一监控组件监控第一协调服务组件的运行状态,若第一协调服务组件的运行状态异常,执行步骤13;若第一协调服务组件的运行状态正常,执行步骤15;
13、终止运行第一协调服务组件和第一数据处理组件(若第一数据处理组件启动的话),判断第一协调服务组件本轮重启次数是否达到第一最大重启次数,若没有达到第一最大重启次数,在与上一次重启间隔时间达到预设的重启间隔时间时,返回执行步骤11;若达到第一最大重启次数,执行步骤14;
14、向管理人员输出第一协调服务组件运行状态异常的提示信息。
15、第一监控组件建立监控协调服务(例如zookeeper)客户端API与第一协调服务组件的通信连接,实现第一监控组件实现接入分布式应用程序协调服务。若建立连接成功,执行步骤16。
16、第一监控组件执行指定任务:(1)第一监控组件参与分布式监控服务选主;(2)注册第一监控组件中协调服务客户端API与第一协调服务组件的通信连接异常通告;(3)注册数据处理组件从分布式数据处理服务下线的异常通告。若(1)(2)(3)任务全部完成,至此,第一监控组件启动第一协调服务组件任务完成。在启动第一协调服务组件任务完成之后,执行步骤17。
关于第一监控组件执行(1)(2)(3)任务的介绍可以参见前述记载的第一监控组件向分布式应用程序协调服务发送选举信息和注册请求的相关内容。
17、第一监控组件启动第一数据处理组件。
18、第一监控组件监控第一数据处理组件的运行状态。
19、若第一数据处理组件的运行状态异常,终止运行第一数据处理组件,并设置该第一数据处理组件的状态为下线状态,并执行步骤20。若第一数据处理组件的运行状态正常,执行步骤22。
其中,设置该第一数据处理组件的状态为下线状态的实现方式可以是:第一监控组件向分布式应用程序协调服务修改请求,以使分布式应用程序协调服务将状态管理表单中存储的第一数据处理组件的运行状态由上线状态修改为下线状态。
20、判断第一数据处理组件本轮重启次数是否达到第二最大重启次数,若是,执行步骤23。若否,执行步骤21。
值得注意的是,若第一数据处理组件本轮重启次数达到第二最大重启次数,则向管理人员输出第一数据处理组件运行状态异常的提示信息,以提示管理人员采用人工方式进行异常恢复。
21、若没有达到第二最大重启次数,在与上一次重启间隔时间达到预设的重启间隔时间时,则重新配置第一数据处理组件的运行环境,在第一数据处理组件的运行环境配置完成时,返回执行步骤17。
22、在第一协调服务组件和第一数据处理组件启动成功后,则持续监控第一协调服务组件和第一数据处理组件。
23、向管理人员输出第一数据处理组件运行状态异常的提示信息。
若第一监控组件在本地检测到第一监控组件中协调服务客户端API与第一协调服务组件的通信连接异常通告,则返回执行步骤11。
若接收到分布式应用程序协调服务发送的数据处理组件下线的异常通告,则第一监控组件判断下线的数据处理组件是否为第一数据处理组件,若是,第一监控组件设置第一数据处理组件的状态为下线状态。若否,第一监控组件判断自身是否为主监控组件。若不是主监控组件,则返回执行步骤22。若第一监控组件是主监控组件,则若下线的数据处理组件所在的监控组件脱离监控集群(也即分布式数据处理服务),则第一监控组件设置第一数据处理组件的状态为下线状态。若第一监控组件不是主监控组件,则返回执行22。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤203的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图4为本申请又一示例性实施例提供的一种计算机设备的结构示意图。如图4所示,该计算机设备包括:存储器41以及处理器42。
存储器41,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器41可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器42,与存储器41耦合,用于执行存储器41中的计算机程序,以用于:
监控与其部署在同一服务节点上的第一协调服务组件和第一数据处理组件的运行状态;第一监控组件为分布式系统的多个服务节点中的任一监控组件,每个服务节点上部署有协调服务组件、数据处理组件和监控组件,且数据处理组件的运行依赖于协调服务组件的正常运行;
若监控到第一协调服务组件的运行状态异常,则控制第一协调服务组件和第一数据处理组件终止运行,并控制第一协调服务组件重启,直至第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态或本轮重启次数达到第一最大重启次数为止;以及在第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态的情况下,控制第一数据处理组件重启,直至第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止;
若监控到第一数据处理组件的运行状态异常,则仅控制第一数据处理组件终止运行,并控制第一数据处理组件重启,直至第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止。
进一步可选的,在控制第一数据处理组件重启之前,处理器42还用于:
重新配置第一数据处理组件的运行环境,并在配置完第一数据处理组件的运行环境后,控制第一数据处理组件重启。
进一步可选的,处理器42监控第一数据处理组件的运行状态时具体用于:
监控第一数据处理组件对应的进程状态;
若第一数据处理组件对应的进程状态异常,则确定第一数据处理组件的运行状态异常;
若第一数据处理组件对应的进程状态正常,则查询多个协调服务组件中是否存在包括第一数据处理组件对应的临时节点的协调服务组件,临时节点是在第一数据处理组件与第一协调服务组件建立通信连接之后创建的;
若多个协调服务组件中存在包括第一数据处理组件对应的临时节点的协调服务组件,则第一数据处理组件的运行状态正常;
若多个协调服务组件中不存在包括第一数据处理组件对应的临时节点的协调服务组件,则第一数据处理组件的运行状态异常。
进一步可选的,处理器42还用于:
若查询不到包括第一数据处理组件对应的临时节点的协调服务组件,则第一监控组件向多个协调服务组件中至少一个协调服务组件发送第一修改请求,以使多个协调服务组件中至少一个协调服务组件将状态管理表单中存储的第一数据处理组件的运行状态由上线状态修改为下线状态。
进一步可选的,在第一协调服务组件和第一数据处理组件均处于正常运行状态的情况下,处理器42还用于:
若第一监控组件在本地检测到指示第一监控组件与第一协调服务组件连接异常的第一异常通告信息,则控制所述第一协调服务组件和所述第一数据处理组件终止运行,并控制第一协调服务组件重启,直至第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态或本轮重启次数达到第一最大重启次数为止;以及在第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态的情况下,控制第一数据处理组件重启,直至第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止。
进一步可选的,在第一协调服务组件和第一数据处理组件均处于正常运行状态的情况下,处理器42还用于:
若多个协调服务组件中任一协调服务组件发送的指示分布式系统中有数据处理组件下线的第二异常通告信息,则判断下线的数据处理组件是否为第一数据处理组件;
若是,则仅控制第一数据处理组件终止运行,并控制第一数据处理组件重启,直至第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止。
进一步可选的,处理器42还用于:
若下线的数据处理组件不是第一数据处理组件,则第一监控组件判断自己是否为主监控组件;
若第一监控组件是主监控组件,则判断与下线的数据处理组件部署在同一服务节点的第二监控组件是否在线;
若第二监控组件不在线,则向多个协调服务组件中至少一个协调服务组件发送第二修改请求,以使多个协调服务组件中至少一个协调服务组件将状态管理表单中存储的下线的数据处理组件的运行状态由上线状态修改为下线状态。
进一步可选的,在第一数据处理组件首次启动之前,处理器42还用于:
第一监控组件向多个协调服务组件中至少一个协调服务组件发送选举信息,以供至少一个协调服务组件请求所述多个协调服务组件共同协商以从多个监控组件中选举出主监控组件;以及
向第一协调服务组件发送注册请求,以在成功注册的情况下接收第一协调服务组件发送的各种异常通告信息,其中,第一协调服务组件发送的各种异常通告信息中包括其他协调服务组件向第一协调服务组件发送的各种异常通告信息;
以及第一监控组件在本地注册第一监控组件与第一协调服务组件连接异常的第一异常通告信息,在第一监控组件与第一协调服务组件连接异常时,第一监控组件在本地能够检测到第一异常通告信息。
进一步可选的,处理器42重启第一数据处理组件时具体用于:
判断重启过程中导致第一数据处理组件出现异常状态的原因来自于第一数据处理组件内部还是第一数据处理组件外部;
若来自于第一数据处理组件内部,则对第一数据处理组件的本轮重启次数增加一次;若来自于第一数据处理组件外部,则保持第一数据处理组件的本轮重启次数不变;以及
在第一数据处理组件的本轮重启次数小于第二最大重启次数的情况下,控制第一数据处理组件进行重启;若重启失败,则返回判断重启过程中导致第一数据处理组件出现异常状态的原因来自于第一数据处理组件内部还是第一数据处理组件外部。
进一步,如图4所示,该计算机设备还包括:通信组件43、显示器44、电源组件45、音频组件46等其它组件。图4中仅示意性给出部分组件,并不意味着计算机设备只包括图4所示组件。另外,图4中虚线框内的组件为可选组件,而非必选组件,具体可视计算机设备的产品形态而定。本实施例的计算机设备可以实现为台式电脑、笔记本电脑、智能手机或IOT设备等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的计算机设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图4中虚线框内的组件;若本实施例的计算机设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图4中虚线框内的组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由计算机设备执行的各步骤。
上述图4中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、4G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图4中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述图4中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图4中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种分布式系统的监控方法,其特征在于,所述分布式系统包括多个服务节点,每个服务节点上部署有协调服务组件、数据处理组件和监控组件,且所述数据处理组件的运行依赖于所述协调服务组件的正常运行;所述方法包括:
第一监控组件监控与其部署在同一服务节点上的第一协调服务组件和第一数据处理组件的运行状态;所述第一监控组件为任一监控组件;
若监控到所述第一协调服务组件的运行状态异常,则控制所述第一协调服务组件和所述第一数据处理组件终止运行,并控制所述第一协调服务组件重启,直至所述第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态或本轮重启次数达到第一最大重启次数为止;以及在所述第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态的情况下,控制所述第一数据处理组件重启,直至所述第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止;
若监控到所述第一数据处理组件的运行状态异常,则仅控制所述第一数据处理组件终止运行,并控制所述第一数据处理组件重启,直至所述第一数据处理组件在本轮重启次数达到所述第二最大重启次数之前进入正常运行状态或本轮重启次数达到所述第二最大重启次数为止。
2.根据权利要求1所述的方法,其特征在于,在控制所述第一数据处理组件重启之前,还包括:
重新配置所述第一数据处理组件的运行环境,并在配置完所述第一数据处理组件的运行环境后,控制所述第一数据处理组件重启。
3.根据权利要求1所述的方法,其特征在于,监控所述第一数据处理组件的运行状态,包括:
监控所述第一数据处理组件对应的进程状态;
若所述第一数据处理组件对应的进程状态异常,则确定所述第一数据处理组件的运行状态异常;
若所述第一数据处理组件对应的进程状态正常,则查询多个协调服务组件中是否存在包括所述第一数据处理组件对应的临时节点的协调服务组件,所述临时节点是在所述第一数据处理组件与所述第一协调服务组件建立通信连接之后创建的;
若多个协调服务组件中存在包括所述第一数据处理组件对应的临时节点的协调服务组件,则所述第一数据处理组件的运行状态正常;
若多个协调服务组件中不存在包括所述第一数据处理组件对应的临时节点的协调服务组件,则所述第一数据处理组件的运行状态异常。
4.根据权利要求3所述的方法,其特征在于,还包括:
若查询不到包括所述第一数据处理组件对应的临时节点的协调服务组件,则所述第一监控组件向多个协调服务组件中至少一个协调服务组件发送第一修改请求,以使多个协调服务组件中至少一个协调服务组件将状态管理表单中存储的所述第一数据处理组件的运行状态由上线状态修改为下线状态。
5.根据权利要求1所述的方法,其特征在于,在所述第一协调服务组件和所述第一数据处理组件均处于正常运行状态的情况下,所述方法还包括:
若所述第一监控组件在本地检测到指示所述第一监控组件与所述第一协调服务组件连接异常的第一异常通告信息,则控制所述第一协调服务组件和所述第一数据处理组件终止运行,并控制所述第一协调服务组件重启,直至所述第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态或本轮重启次数达到第一最大重启次数为止;以及在所述第一协调服务组件在本轮重启次数达到第一最大重启次数之前进入正常运行状态的情况下,控制所述第一数据处理组件重启,直至所述第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止。
6.根据权利要求5所述的方法,其特征在于,在所述第一协调服务组件和所述第一数据处理组件均处于正常运行状态的情况下,所述方法还包括:
若接收到多个协调服务组件中任一协调服务组件发送的指示所述分布式系统中有数据处理组件下线的第二异常通告信息,则判断下线的数据处理组件是否为所述第一数据处理组件;
若是,则仅控制所述第一数据处理组件终止运行,并控制所述第一数据处理组件重启,直至所述第一数据处理组件在本轮重启次数达到第二最大重启次数之前进入正常运行状态或本轮重启次数达到第二最大重启次数为止。
7.根据权利要求6所述的方法,其特征在于,还包括:
若下线的数据处理组件不是所述第一数据处理组件,则所述第一监控组件判断自己是否为主监控组件;
若所述第一监控组件是主监控组件,则判断与所述下线的数据处理组件部署在同一服务节点的第二监控组件是否在线;
若所述第二监控组件不在线,则向所述多个协调服务组件中至少一个协调服务组件发送第二修改请求,以使所述多个协调服务组件中至少一个协调服务组件将状态管理表单中存储的所述下线的数据处理组件的运行状态由上线状态修改为下线状态。
8.根据权利要求7所述的方法,其特征在于,在所述第一数据处理组件首次启动之前,还包括:
所述第一监控组件向所述多个协调服务组件中至少一个协调服务组件发送选举信息,以供所述至少一个协调服务组件请求所述多个协调服务组件共同协商以从多个监控组件中选举出主监控组件;以及
向所述第一协调服务组件发送注册请求,以在成功注册的情况下接收所述第一协调服务组件发送的各种异常通告信息;其中,所述第一协调服务组件发送的各种异常通告信息中包括其他协调服务组件向所述第一协调服务组件发送的各种异常通告信息;
以及所述第一监控组件在本地注册所述第一监控组件与所述第一协调服务组件连接异常的第一异常通告信息,在所述第一监控组件与所述第一协调服务组件连接异常时,所述第一监控组件在本地能够检测到所述第一异常通告信息。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述重启所述第一数据处理组件包括:
判断重启过程中导致所述第一数据处理组件出现异常状态的原因来自于所述第一数据处理组件内部还是所述第一数据处理组件外部;
若来自于所述第一数据处理组件内部,则对所述第一数据处理组件的本轮重启次数增加一次;若来自于所述第一数据处理组件外部,则保持所述第一数据处理组件的本轮重启次数不变;以及
在所述第一数据处理组件的本轮重启次数小于所述第二最大重启次数的情况下,控制所述第一数据处理组件进行重启;若重启失败,则返回判断重启过程中导致所述第一数据处理组件出现异常状态的原因来自于所述第一数据处理组件内部还是所述第一数据处理组件外部。
10.一种计算机设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求1-9任一项所述方法中的步骤。
11.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器实现权利要求1-9任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111290386.0A CN114138551A (zh) | 2021-11-02 | 2021-11-02 | 分布式系统的监控方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111290386.0A CN114138551A (zh) | 2021-11-02 | 2021-11-02 | 分布式系统的监控方法、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114138551A true CN114138551A (zh) | 2022-03-04 |
Family
ID=80392117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111290386.0A Pending CN114138551A (zh) | 2021-11-02 | 2021-11-02 | 分布式系统的监控方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138551A (zh) |
-
2021
- 2021-11-02 CN CN202111290386.0A patent/CN114138551A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10511480B2 (en) | Message flow management for virtual networks | |
CN111800443B (zh) | 数据处理系统和方法、装置以及电子设备 | |
CN110830283B (zh) | 故障检测方法、装置、设备和系统 | |
CN113296903A (zh) | 边缘云系统、边缘管控方法、管控节点及存储介质 | |
US11438249B2 (en) | Cluster management method, apparatus and system | |
CN111865632B (zh) | 分布式数据存储集群的切换方法及切换指令发送方法和装置 | |
US11397632B2 (en) | Safely recovering workloads within a finite timeframe from unhealthy cluster nodes | |
CN113946408A (zh) | 云原生边缘容器控制方法、系统及存储介质 | |
US11930292B2 (en) | Device state monitoring method and apparatus | |
EP4030776A1 (en) | Method and apparatus for triggering vomci function from olt to send omci messages | |
CN111342986B (zh) | 分布式节点管理方法及装置、分布式系统、存储介质 | |
CN108509296B (zh) | 一种处理设备故障的方法和系统 | |
US20200304586A1 (en) | Method and system for managing network service | |
CN110620798A (zh) | Ftp连接的控制方法、系统、设备和存储介质 | |
CN112579247A (zh) | 确定任务状态的方法和装置 | |
CN112130889A (zh) | 资源的管理方法和装置、存储介质、电子装置 | |
CN114138551A (zh) | 分布式系统的监控方法、计算机设备及存储介质 | |
CN113138717B (zh) | 节点部署方法、设备及存储介质 | |
CN112416641B (zh) | 主从架构中被控端节点重启检测方法及主控端节点 | |
CN111629054B (zh) | 消息处理方法、装置、系统、电子设备及可读存储介质 | |
JP2015057685A (ja) | 監視システム | |
CN114816866A (zh) | 故障处理方法、装置、电子设备和存储介质 | |
CN112787868A (zh) | 一种信息同步的方法和装置 | |
CN112714143A (zh) | 分布式存储系统的服务协调方法、装置及电子设备 | |
US20230120135A1 (en) | Running status switching method, apparatus, active/standby management system, and network system |
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 |