CN109450691B - 服务网关监控方法、设备及计算机可读存储介质 - Google Patents
服务网关监控方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109450691B CN109450691B CN201811387582.8A CN201811387582A CN109450691B CN 109450691 B CN109450691 B CN 109450691B CN 201811387582 A CN201811387582 A CN 201811387582A CN 109450691 B CN109450691 B CN 109450691B
- Authority
- CN
- China
- Prior art keywords
- external service
- calling
- service
- access request
- token
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种服务网关监控方法,包括:从消息队列中获取当前调用外部服务的调用数据,并依据所述调用数据,统计预设时间窗口内所述当前调用外部服务的总调用次数和调用失败次数;依据所述总调用次数和所述调用失败次数,计算调用失败率,并依据所述调用失败率,判断所述当前调用外部服务是否处于异常状态;若所述当前调用外部服务处于异常状态,则将所述当前调用外部服务的调用开关置为关闭状态,以中断所述当前调用外部服务。本发明还公开了一种服务网关监控设备及计算机可读存储介质。本发明能够在外部服务异常时,及时中断异常的外部服务,实现外部服务调用情况的自动监控与自动中断。
Description
技术领域
本发明涉及服务网关的技术领域,尤其涉及一种服务网关监控方法、设备及计算机可读存储介质。
背景技术
目前,业务系统主要通过服务网关调用外部服务,而因为各种不可控原因导致外部服务不可用,出现外部服务调用阻塞超时的问题,容易导致系统负载均衡加重,可能会引起服务雪崩效应。
为解决上述问题,需要人工监控服务网关的外部服务调用情况,如果外部服务调用异常,则需要手动断开外部服务,如果外部服务恢复正常,则需要手动开启外部服务。
然而,通过人工的方式很难准确的监控实时变化的外部服务调用情况,在外部服务出现异常时,无法准确及时的作出调整,因此,如何在外部服务异常时,及时准确的调整外部服务是目前亟待解决的问题。
发明内容
本发明的主要目的在于提供一种服务网关监控方法、设备及计算机可读存储介质,旨在外部服务异常时,及时准确的调整外部服务。
为实现上述目的,本发明提供一种服务网关监控方法,所述服务网关监控方法包括以下步骤:
从消息队列中获取当前调用外部服务的调用数据,并依据所述调用数据,统计预设时间窗口内所述当前调用外部服务的总调用次数和调用失败次数;
依据所述总调用次数和所述调用失败次数,计算调用失败率,并依据所述调用失败率,判断所述当前调用外部服务是否处于异常状态;
若所述当前调用外部服务处于异常状态,则将所述当前调用外部服务的调用开关置为关闭状态,以中断所述当前调用外部服务。
进一步地,依据所述调用失败率,确定所述当前调用外部服务是否处于异常状态的步骤包括:
读取内存中的中断配置文件,并判断所述调用失败率是否大于或等于所述中断配置文件中的失败率阈值;
若所述调用失败率大于或等于所述中断配置文件中的失败率阈值,则确定所述当前调用外部服务处于异常状态;
若所述调用失败率小于所述中断配置文件中的失败率阈值,则确定所述当前调用外部服务处于正常状态。
进一步地,将所述当前调用外部服务的调用开关置为关闭状态,以中断所述当前调用外部服务的步骤之后,还包括:
记录所述调用开关处于关闭状态的持续时间,并判断所述持续时间是否达到所述中断配置文件中的持续时间阈值;
若所述持续时间达到所述中断配置文件中的持续时间阈值,则将所述调用开关置为开启状态,以恢复中断的外部服务。
进一步地,将所述调用开关置为开启状态,以恢复中断的外部服务的步骤之前,还包括:
若所述持续时间达到所述中断配置文件中的持续时间阈值,则将所述调用开关置为半开启状态,并调用中断的对应外部服务;
获取调用的对应外部服务的当前调用数据,并依据所述当前调用数据,确定调用的对应外部服务是否仍处于异常状态;
若调用的对应外部服务仍处于异常状态,则将所述调用开关置为关闭状态,否则执行步骤:将所述调用开关置为开启状态,以恢复中断的外部服务。
进一步地,所述服务网关监控方法还包括:
定时获取预设数据库中的中断配置文件的第一版本标识码,并获取内存中的中断配置文件的第二版本标识码;
判断所述第一版本标识码是否与所述第二版本标识码不同;
若所述第一版本标识码与所述第二版本标识码不同,则将预设数据库中的中断配置文件加载至内存,以更新内存中的中断配置文件。
进一步地,所述服务网关监控方法还包括:
在调用外部服务的过程中,监测访问请求,并在监测到访问请求时,确定所述访问请求所需的目标令牌数;
判断预设令牌桶中的第一可用令牌数是否大于或等于所述目标令牌数;
若所述第一可用令牌数大于或等于所述目标令牌数,则处理所述访问请求,否则以间隔预设令牌添加时间判断预设令牌桶中的第二可用令牌数是否大于或等于所述目标令牌数;
若所述第二可用令牌数大于或等于所述目标令牌数,则处理所述访问请求,否则判断所述访问请求的令牌等待时间是否超过等待时间阈值;
若所述访问请求的令牌等待时间超过等待时间阈值,则拒绝所述访问请求。
进一步地,所述服务网关监控方法还包括:
以间隔预设令牌添加时间在预设令牌桶中添加可用令牌。
此外,为实现上述目的,本发明还提供一种服务网关监控设备,所述服务网关监控设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的服务网关监控程序,所述服务网关监控程序被所述处理器执行时实现如上所述的服务网关监控方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有服务网关监控程序,所述服务网关监控程序被处理器执行时实现如上所述的服务网关监控方法的步骤。
本发明提供一种服务网关监控方法、设备及计算机可读存储介质,本发明从消息队列中获取当前调用外部服务的调用数据,并依据该调用数据,统计预设时间窗口内当前调用外部服务的总调用次数和调用失败次数,然后依据总调用次数和调用失败次数,计算调用失败率,并依据该调用失败率判断当前调用外部服务是否处于异常状态,如果当前调用外部服务处于异常状态,则将对应的调用开关置为关闭状态,以中断异常的外部服务,通过上述方式,可以基于外部服务的调用数据,准确的监控外部服务是否异常,且能够在外部服务异常时,及时中断异常的外部服务,实现外部服务调用情况的自动监控与自动中断。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明服务网关监控方法第一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
如图1所示,该服务网关监控设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的服务网关监控设备结构并不构成对服务网关监控设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及服务网关监控程序。
在图1所示的服务网关监控设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的服务网关监控程序,并执行以下步骤:
在服务网关运行过程中,从消息队列中获取当前调用外部服务的调用数据,并依据所述调用数据,统计预设时间窗口内所述当前调用外部服务的总调用次数和调用失败次数;
依据所述总调用次数和所述调用失败次数,计算调用失败率,并依据所述调用失败率,判断所述当前调用外部服务是否处于异常状态;
若所述当前调用外部服务处于异常状态,则将所述当前调用外部服务的调用开关置为关闭状态,以中断所述当前调用外部服务。
进一步地,处理器1001可以用于调用存储器1005中存储的服务网关监控程序,还执行以下步骤:
依据所述调用失败率,确定所述当前调用外部服务是否处于异常状态的步骤包括:
读取内存中的中断配置文件,并判断所述调用失败率是否大于或等于所述中断配置文件中的失败率阈值;
若所述调用失败率大于或等于所述中断配置文件中的失败率阈值,则确定所述当前调用外部服务处于异常状态;
若所述调用失败率小于所述中断配置文件中的失败率阈值,则确定所述当前调用外部服务处于正常状态。
进一步地,处理器1001可以用于调用存储器1005中存储的服务网关监控程序,还执行以下步骤:
将所述当前调用外部服务的调用开关置为关闭状态,以中断所述当前调用外部服务的步骤之后,还包括:
记录所述调用开关处于关闭状态的持续时间,并判断所述持续时间是否达到所述中断配置文件中的持续时间阈值;
若所述持续时间达到所述中断配置文件中的持续时间阈值,则将所述调用开关置为开启状态,以恢复中断的外部服务。
进一步地,处理器1001可以用于调用存储器1005中存储的服务网关监控程序,还执行以下步骤:
若所述持续时间达到所述中断配置文件中的持续时间阈值,则将所述调用开关置为半开启状态,并调用中断的对应外部服务;
获取调用的对应外部服务的当前调用数据,并依据所述当前调用数据,确定调用的对应外部服务是否仍处于异常状态;
若调用的对应外部服务仍处于异常状态,则将所述调用开关置为关闭状态,否则执行步骤:将所述调用开关置为开启状态,以恢复中断的外部服务。
进一步地,处理器1001可以用于调用存储器1005中存储的服务网关监控程序,还执行以下步骤:
定时获取预设数据库中的中断配置文件的第一版本标识码,并获取内存中的中断配置文件的第二版本标识码;
判断所述第一版本标识码是否与所述第二版本标识码不同;
若所述第一版本标识码与所述第二版本标识码不同,则将预设数据库中的中断配置文件加载至内存,以更新内存中的中断配置文件。
进一步地,处理器1001可以用于调用存储器1005中存储的服务网关监控程序,还执行以下步骤:
在调用外部服务的过程中,监测访问请求,并在监测到访问请求时,确定所述访问请求所需的目标令牌数;
判断预设令牌桶中的第一可用令牌数是否大于或等于所述目标令牌数;
若所述第一可用令牌数大于或等于所述目标令牌数,则处理所述访问请求,否则以间隔预设令牌添加时间判断预设令牌桶中的第二可用令牌数是否大于或等于所述目标令牌数;
若所述第二可用令牌数大于或等于所述目标令牌数,则处理所述访问请求,否则判断所述访问请求的令牌等待时间是否超过等待时间阈值;
若所述访问请求的令牌等待时间超过等待时间阈值,则拒绝所述访问请求。
进一步地,处理器1001可以用于调用存储器1005中存储的服务网关监控程序,还执行以下步骤:
以间隔预设令牌添加时间在预设令牌桶中添加可用令牌。
本发明服务网关监控设备的具体实施例与下述服务网关监控方法的各具体实施例基本相同,在此不作赘述。
本发明提供一种服务网关监控方法。
参照图2,图2为本发明服务网关监控方法第一实施例的流程示意图。
本实施例中,该服务网关监控方法包括:
步骤S101,从消息队列中获取当前调用外部服务的调用数据,并依据调用数据,统计预设时间窗口内当前调用外部服务的总调用次数和调用失败次数;
本实施例中,在服务网关运行过程中,采集外部服务的调用数据,包括但不限于请求标签码、请求时间、请求类型、接口名称、请求响应时间和请求响应结果,并通过Flume将采集到的调用数据上报给消息中间件,消息中间件将消息写入消息队列中。其中,Flume为高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据。本实施例中,将高吞吐量的分布式发布订阅消息系统作为消息中间件,主要用于解决采集调用数据的速度与数据处理的速度不同步的问题。
在服务网关运行过程中,通过分布式实时大数据处理框架Storm,从消息中间件的消息队列中获取当前调用外部服务的调用数据,并依据调用数据,统计预设时间窗口内当前调用外部服务的总调用次数和调用失败次数。具体地,从调用数据中读取请求标签码、请求时间、请求响应时间和请求响应结果,并统计请求标签码的个数,且将请求标签码的个数确定为当前调用外部服务的总调用次数;统计请求响应时间超过预设阈值的调用请求的第一数量,并统计请求响应结果为调用失败的调用请求的第二数量,然后将第一数量和与第二数量之和,确定为当前调用外部服务的调用失败次数。需要说明的是,上述预设时间窗口可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定。
步骤S102,依据总调用次数和调用失败次数,计算调用失败率,并依据调用失败率,判断当前调用外部服务是否处于异常状态;
本实施例中,在统计得到当前调用外部服务的总调用次数和调用失败次数之后,依据当前调用外部服务的总调用次数和调用失败次数,计算当前调用外部服务的调用失败率,即用该调用失败次数除以总调用次数,得到调用失败率,然后依据该调用失败率,判断当前调用外部服务是否处于异常状态。
具体地,读取内存中的中断配置文件,并判断该调用失败率是否大于或等于该中断配置文件中的失败率阈值,如果该调用失败率大于或等于该中断配置文件中的失败率阈值,则确定当前调用外部服务处于异常状态,如果该调用失败率小于该中断配置文件中的失败率阈值,则确定当前调用外部服务处于正常状态。
其中,该中断配置文件中携带有失败率阈值,且该失败率阈值可由用户更新,具体为中断配置文件存储于数据库中,当监测到中断配置文件配置指令时,显示中断配置文件的配置界面,并通过该配置界面接收配置生成的中断配置文件,并将该中断配置文件写入数据库中,以替换数据库中的中断配置文件,且当监测到中断配置文件被替换之后,将替换后的中断配置文件缓存加载至内存,以更新替换内存中的中断配置文件。需要说明的是,上述失败率阈值可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定。
步骤S103,若当前调用外部服务处于异常状态,则将当前调用外部服务的调用开关置为关闭状态,以中断当前调用外部服务。
本实施例中,如果当前调用外部服务处于异常状态,则将当前调用外部服务的调用开关置为关闭状态,以中断当前调用外部服务,可以有效防止异常外网服务对系统的影响,防止出现服务雪崩效应。
进一步地,在中断当前调用外部服务之后,记录调用开关处于关闭状态的持续时间,并判断该持续时间是否达到该中断配置文件中的持续时间阈值,如果该持续时间达到该中断配置文件中的持续时间阈值,则将该调用开关置为开启状态,以恢复中断的外部服务。可以在中断的外部服务由异常状态变为正常状态时,开启对应的调用开关,可以继续调用对应的外部服务,实现外部服务的自动恢复。
更进一步地,经过一定持续时间的中断,异常的外部服务可由异常转变为正常,然而,导致外部服务异常的原因多种多样,存在经过中断后,异常的外部服务仍处于异常状态,因此,在经过一定持续时间的中断之后,需要验证异常的外部服务是否转变为正常,具体为,如果持续时间达到中断配置文件中的持续时间阈值,则将该调用开关置为半开启状态,并调用中断的对应外部服务,获取调用的对应外部服务的当前调用数据,并依据当前调用数据,确定调用的对应外部服务是否仍处于异常状态,即从当前调用数据中读取请求响应时间和请求响应结果,并判断该请求响应时间是否超过预设阈值,以及判断该请求响应结果是否为调用失败,如果该请求响应时间超过预设阈值和/或该请求响应结果为调用失败,则确定调用的对应外部服务仍处于异常状态,如果请求响应时间低于预设阈值,且该请求响应结果为调用成功,则确定调用的对应外部服务处于正常状态;如果调用的对应外部服务仍处于异常状态,则将调用开关置为关闭状态,如果调用的对应外部服务正常,则将调用开关置为开启状态,恢复中断的外部服务。
本实施例中,本发明在服务网关运行过程中,从消息队列中获取当前调用外部服务的调用数据,并依据该调用数据,统计预设时间窗口内当前调用外部服务的总调用次数和调用失败次数,然后依据总调用次数和调用失败次数,计算调用失败率,并依据该调用失败率判断当前调用外部服务是否处于异常状态,如果当前调用外部服务处于异常状态,则将对应的调用开关置为关闭状态,以中断异常的外部服务,通过上述方式,可以基于外部服务的调用数据,准确的监控外部服务是否异常,且能够在外部服务异常时,及时中断异常的外部服务,实现外部服务调用情况的自动监控与自动中断。
进一步地,基于上述第一实施,提出了本发明服务网关监控方法的第二实施例,与前述实施例的区别在于,定时更新内存中的中断配置文件,具体为定时获取预设数据库中的中断配置文件的第一版本标识码,并获取内存中的中断配置文件的第二版本标识码,然后判断第一版本标识码是否与第二版本标识码不同,如果第一版本标识码与第二版本标识码不同,则需要更新内存中的中断配置文件,即将预设数据库中的中断配置文件加载至内存,以更新内存中的中断配置文件,如果第一版本标识码与第二版本标识码相同,则不做处理。通过加载的方式更新内存中的中断配置文件,无需重启服务网关,便于中断配置文件的更新。
进一步地,基于上述第一或第二实施例,提出了本发明服务网关监控方法的第三实施例,与前述实施例的区别在于,该服务网关监控方法还包括:
步骤a,在调用外部服务的过程中,监测访问请求,并在监测到访问请求时,确定访问请求所需的目标令牌数;
步骤b,判断预设令牌桶中的第一可用令牌数是否大于或等于目标令牌数;
步骤c,若第一可用令牌数大于或等于所述目标令牌数,则处理访问请求,否则以间隔预设令牌添加时间判断预设令牌桶中的第二可用令牌数是否大于或等于目标令牌数;
步骤d,若第二可用令牌数大于或等于所述目标令牌数,则处理访问请求,否则判断访问请求的令牌等待时间是否超过等待时间阈值;
步骤e,若访问请求的令牌等待时间超过等待时间阈值,则拒绝访问请求。
本实施例中,在调用外部服务的过程中,监测访问请求,并在监测到访问请求时,确定该访问请求所需的目标令牌数,然后判断预设令牌桶中的第一可用令牌数是否大于或等于该目标令牌数,如果第一可用令牌数大于或等于该目标令牌数,则处理该访问请求,否则以间隔预设令牌添加时间判断预设令牌桶中的第二可用令牌数是否大于或等于该目标令牌数,如果第二可用令牌数大于或等于该目标令牌数,则处理该访问请求,否则判断该访问请求的令牌等待时间是否超过等待时间阈值,如果该访问请求的令牌等待时间超过等待时间阈值,则拒绝该访问请求,如果该访问请求的令牌等待时间未超过等待时间阈值,则执行以间隔预设令牌添加时间判断预设令牌桶中的第二可用令牌数是否大于或等于目标令牌数的步骤。其中,上述预设令牌桶通过令牌桶算法实现,具体包括产生令牌、消耗令牌和判断数据包是否可以通过,产生令牌,即周期性的以恒定速率向令牌桶中增加令牌,桶中的令牌不断增多,如果桶中令牌数已到达最大令牌数,则丢弃多余令牌,否则保留令牌;消耗令牌,即输入访问请求中的数据包时,会消耗令牌桶中的令牌,在网络传输中,数据包的大小通常不一致,大的数据包相较于小的数据包消耗的令牌要多,例如,当n个字节的数据包通过令牌桶时,令牌桶消耗n个令牌,也即从令牌桶中删除n个令牌;判断数据包是否可以通过,即输入数据包经过令牌桶后的结果包括输出数据包和丢弃数据包,当桶中的令牌数量可以满足数据包对令牌的需求,则将数据包输出,否则将其丢弃。
其中,一个访问请求需要一个目标令牌数,且由访问请求确定,此外,以间隔预设令牌添加时间在预设令牌桶中添加可用令牌,即按照设定的速率在预设令牌桶中添加可用令牌。需要说明的是,上述预设令牌添加时间和等待时间阈值可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定。
本实施例中,本发明在调用外部服务的过程中,利用令牌桶实现流量的平滑限制,防止突发流量对系统的冲击,导致系统崩溃。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有服务网关监控程序,所述服务网关监控程序被处理器执行时,执行以下步骤:
从消息队列中获取当前调用外部服务的调用数据,并依据所述调用数据,统计预设时间窗口内所述当前调用外部服务的总调用次数和调用失败次数;
依据所述总调用次数和所述调用失败次数,计算调用失败率,并依据所述调用失败率,判断所述当前调用外部服务是否处于异常状态;
若所述当前调用外部服务处于异常状态,则将所述当前调用外部服务的调用开关置为关闭状态,以中断所述当前调用外部服务。
进一步地,所述服务网关监控程序被处理器执行时,还执行以下步骤:
读取内存中的中断配置文件,并判断所述调用失败率是否大于或等于所述中断配置文件中的失败率阈值;
若所述调用失败率大于或等于所述中断配置文件中的失败率阈值,则确定所述当前调用外部服务处于异常状态;
若所述调用失败率小于所述中断配置文件中的失败率阈值,则确定所述当前调用外部服务处于正常状态。
进一步地,所述服务网关监控程序被处理器执行时,还执行以下步骤:
记录所述调用开关处于关闭状态的持续时间,并判断所述持续时间是否达到所述中断配置文件中的持续时间阈值;
若所述持续时间达到所述中断配置文件中的持续时间阈值,则将所述调用开关置为开启状态,以恢复中断的外部服务。
进一步地,所述服务网关监控程序被处理器执行时,还执行以下步骤:
若所述持续时间达到所述中断配置文件中的持续时间阈值,则将所述调用开关置为半开启状态,并调用中断的对应外部服务;
获取调用的对应外部服务的当前调用数据,并依据所述当前调用数据,确定调用的对应外部服务是否仍处于异常状态;
若调用的对应外部服务仍处于异常状态,则将所述调用开关置为关闭状态,否则执行步骤:将所述调用开关置为开启状态,以恢复中断的外部服务。
进一步地,所述服务网关监控程序被处理器执行时,还执行以下步骤:
定时获取预设数据库中的中断配置文件的第一版本标识码,并获取内存中的中断配置文件的第二版本标识码;
判断所述第一版本标识码是否与所述第二版本标识码不同;
若所述第一版本标识码与所述第二版本标识码不同,则将预设数据库中的中断配置文件加载至内存,以更新内存中的中断配置文件。
进一步地,所述服务网关监控程序被处理器执行时,还执行以下步骤:
在调用外部服务的过程中,监测访问请求,并在监测到访问请求时,确定所述访问请求所需的目标令牌数;
判断预设令牌桶中的第一可用令牌数是否大于或等于所述目标令牌数;
若所述第一可用令牌数大于或等于所述目标令牌数,则处理所述访问请求,否则以间隔预设令牌添加时间判断预设令牌桶中的第二可用令牌数是否大于或等于所述目标令牌数;
若所述第二可用令牌数大于或等于所述目标令牌数,则处理所述访问请求,否则判断所述访问请求的令牌等待时间是否超过等待时间阈值;
若所述访问请求的令牌等待时间超过等待时间阈值,则拒绝所述访问请求。
进一步地,所述服务网关监控程序被处理器执行时,还执行以下步骤:
以间隔预设令牌添加时间在预设令牌桶中添加可用令牌。
本发明计算机可读存储介质的具体实施例与上述服务网关监控方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种服务网关监控方法,其特征在于,所述服务网关监控方法包括以下步骤:
从消息队列中获取当前调用外部服务的调用数据,并依据所述调用数据,统计预设时间窗口内所述当前调用外部服务的总调用次数和调用失败次数;
依据所述总调用次数和所述调用失败次数,计算调用失败率,并依据所述调用失败率,判断所述当前调用外部服务是否处于异常状态;
若所述当前调用外部服务处于异常状态,则将所述当前调用外部服务的调用开关置为关闭状态,以中断所述当前调用外部服务;
在调用外部服务的过程中,监测访问请求,并在监测到访问请求时,确定所述访问请求所需的目标令牌数;
判断预设令牌桶中的第一可用令牌数是否大于或等于所述目标令牌数;
若所述第一可用令牌数大于或等于所述目标令牌数,则处理所述访问请求,否则以间隔预设令牌添加时间判断预设令牌桶中的第二可用令牌数是否大于或等于所述目标令牌数;
若所述第二可用令牌数大于或等于所述目标令牌数,则处理所述访问请求,否则判断所述访问请求的令牌等待时间是否超过等待时间阈值;
若所述访问请求的令牌等待时间超过等待时间阈值,则拒绝所述访问请求;
若所述访问请求的令牌等待时间未超过等待时间阈值,则重新判断所述第二可用令牌数是否大于或者等于所述目标令牌数。
2.如权利要求1所述的服务网关监控方法,其特征在于,依据所述调用失败率,确定所述当前调用外部服务是否处于异常状态的步骤包括:
读取内存中的中断配置文件,并判断所述调用失败率是否大于或等于所述中断配置文件中的失败率阈值;
若所述调用失败率大于或等于所述中断配置文件中的失败率阈值,则确定所述当前调用外部服务处于异常状态;
若所述调用失败率小于所述中断配置文件中的失败率阈值,则确定所述当前调用外部服务处于正常状态。
3.如权利要求2所述的服务网关监控方法,其特征在于,将所述当前调用外部服务的调用开关置为关闭状态,以中断所述当前调用外部服务的步骤之后,还包括:
记录所述调用开关处于关闭状态的持续时间,并判断所述持续时间是否达到所述中断配置文件中的持续时间阈值;
若所述持续时间达到所述中断配置文件中的持续时间阈值,则将所述调用开关置为开启状态,以恢复中断的外部服务。
4.如权利要求3所述的服务网关监控方法,其特征在于,将所述调用开关置为开启状态,以恢复中断的外部服务的步骤之前,还包括:
若所述持续时间达到所述中断配置文件中的持续时间阈值,则将所述调用开关置为半开启状态,并调用中断的对应外部服务;
获取调用的对应外部服务的当前调用数据,并依据所述当前调用数据,确定调用的对应外部服务是否仍处于异常状态;
若调用的对应外部服务仍处于异常状态,则将所述调用开关置为关闭状态,否则执行步骤:将所述调用开关置为开启状态,以恢复中断的外部服务。
5.如权利要求1-4中任一项所述的服务网关监控方法,其特征在于,所述服务网关监控方法还包括:
定时获取预设数据库中的中断配置文件的第一版本标识码,并获取内存中的中断配置文件的第二版本标识码;
判断所述第一版本标识码是否与所述第二版本标识码不同;
若所述第一版本标识码与所述第二版本标识码不同,则将预设数据库中的中断配置文件加载至内存,以更新内存中的中断配置文件。
6.如权利要求1所述的服务网关监控方法,其特征在于,所述服务网关监控方法还包括:
以间隔预设令牌添加时间在预设令牌桶中添加可用令牌。
7.一种服务网关监控设备,其特征在于,所述服务网关监控设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的服务网关监控程序,所述服务网关监控程序被所述处理器执行时实现以下步骤:
从消息队列中获取当前调用外部服务的调用数据,并依据所述调用数据,统计预设时间窗口内所述当前调用外部服务的总调用次数和调用失败次数;
依据所述总调用次数和所述调用失败次数,计算调用失败率,并依据所述调用失败率,判断所述当前调用外部服务是否处于异常状态;
若所述当前调用外部服务处于异常状态,则将所述当前调用外部服务的调用开关置为关闭状态,以中断所述当前调用外部服务;
在调用外部服务的过程中,监测访问请求,并在监测到访问请求时,确定所述访问请求所需的目标令牌数;
判断预设令牌桶中的第一可用令牌数是否大于或等于所述目标令牌数;
若所述第一可用令牌数大于或等于所述目标令牌数,则处理所述访问请求,否则以间隔预设令牌添加时间判断预设令牌桶中的第二可用令牌数是否大于或等于所述目标令牌数;
若所述第二可用令牌数大于或等于所述目标令牌数,则处理所述访问请求,否则判断所述访问请求的令牌等待时间是否超过等待时间阈值;
若所述访问请求的令牌等待时间超过等待时间阈值,则拒绝所述访问请求;
若所述访问请求的令牌等待时间未超过等待时间阈值,则重新判断所述第二可用令牌数是否大于或者等于所述目标令牌数。
8.如权利要求7所述的服务网关监控设备,其特征在于,所述服务网关监控程序被所述处理器执行时实现如权利要求2至6中任一项所述的服务网关监控方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有服务网关监控程序,所述服务网关监控程序被处理器执行时实现如权利要求1至6中任一项所述的服务网关监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811387582.8A CN109450691B (zh) | 2018-11-20 | 2018-11-20 | 服务网关监控方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811387582.8A CN109450691B (zh) | 2018-11-20 | 2018-11-20 | 服务网关监控方法、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109450691A CN109450691A (zh) | 2019-03-08 |
CN109450691B true CN109450691B (zh) | 2022-01-11 |
Family
ID=65552797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811387582.8A Active CN109450691B (zh) | 2018-11-20 | 2018-11-20 | 服务网关监控方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450691B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990245A (zh) * | 2019-12-04 | 2020-04-10 | 北京明略软件系统有限公司 | 基于调用链数据的微服务运行状态判断方法及装置 |
CN111416888A (zh) * | 2020-04-07 | 2020-07-14 | 中国建设银行股份有限公司 | 一种基于服务网关的寻址方法及装置 |
CN112491735A (zh) * | 2020-11-10 | 2021-03-12 | 京东数字科技控股股份有限公司 | 一种流量控制方法、装置、设备和计算机可读存储介质 |
CN113268290B (zh) * | 2021-06-16 | 2024-07-26 | 中移(杭州)信息技术有限公司 | 软件容器优化方法、装置、设备及计算机程序产品 |
CN113626044B (zh) * | 2021-08-13 | 2024-08-06 | 中国工商银行股份有限公司 | 服务管理方法及装置 |
CN115118575B (zh) * | 2022-06-23 | 2024-05-03 | 奇安信科技集团股份有限公司 | 一种监控方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512244A (zh) * | 2015-11-30 | 2016-04-20 | 北京京东尚科信息技术有限公司 | 基于消息队列实现数据库事务处理的方法及装置 |
CN106294073A (zh) * | 2016-08-15 | 2017-01-04 | 合智能科技(深圳)有限公司 | 服务调用方法及装置 |
CN106973093A (zh) * | 2017-03-23 | 2017-07-21 | 北京奇艺世纪科技有限公司 | 一种服务切换方法和装置 |
CN107659431A (zh) * | 2017-08-15 | 2018-02-02 | 北京趣拿软件科技有限公司 | 接口处理方法、装置、存储介质和处理器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9130860B1 (en) * | 2014-10-09 | 2015-09-08 | Splunk, Inc. | Monitoring service-level performance using key performance indicators derived from machine data |
-
2018
- 2018-11-20 CN CN201811387582.8A patent/CN109450691B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512244A (zh) * | 2015-11-30 | 2016-04-20 | 北京京东尚科信息技术有限公司 | 基于消息队列实现数据库事务处理的方法及装置 |
CN106294073A (zh) * | 2016-08-15 | 2017-01-04 | 合智能科技(深圳)有限公司 | 服务调用方法及装置 |
CN106973093A (zh) * | 2017-03-23 | 2017-07-21 | 北京奇艺世纪科技有限公司 | 一种服务切换方法和装置 |
CN107659431A (zh) * | 2017-08-15 | 2018-02-02 | 北京趣拿软件科技有限公司 | 接口处理方法、装置、存储介质和处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN109450691A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109450691B (zh) | 服务网关监控方法、设备及计算机可读存储介质 | |
CN108845910B (zh) | 大规模微服务系统的监控方法、装置及存储介质 | |
CN109672580B (zh) | 全链路监控方法、装置、终端设备及存储介质 | |
CN109240765B (zh) | 服务资源的熔断方法、装置、设备及计算机可读存储介质 | |
US10432533B2 (en) | Automatic detection and prevention of network overload conditions using SDN | |
CN109669835B (zh) | MySQL数据库监控方法、装置、设备及可读存储介质 | |
US20060236390A1 (en) | Method and system for detecting malicious wireless applications | |
US11119828B2 (en) | Digital processing system for event and/or time based triggering management, and control of tasks | |
CN108833126B (zh) | 电子装置、数据链路风险预警方法及存储介质 | |
CN112118352B (zh) | 通知触发消息的处理方法、装置、电子设备以及计算机可读介质 | |
CN109743218A (zh) | 一种服务监控方法、存储介质及终端 | |
US20220283990A1 (en) | Method for configuring priority level, cloud platform, system, computing device, and medium | |
CN109639490B (zh) | 一种宕机通知方法及装置 | |
CN111949421B (zh) | Sdk调用方法、装置、电子设备和计算机可读存储介质 | |
CN109600250B (zh) | 业务系统故障通知方法、装置、电子装置及存储介质 | |
CN111698266B (zh) | 服务节点调用方法、装置、设备及可读存储介质 | |
CN115296979A (zh) | 一种故障处理方法、装置、设备及存储介质 | |
JP4651126B2 (ja) | インシデント管理システム及び同管理方法並びに同管理プログラム | |
US6434713B1 (en) | Processor management method of mobile communication home location register (HLR) system | |
US8458705B2 (en) | Method and apparatus for preventing the omission and repeated execution of schedule information due to a time change | |
CN111290840B (zh) | 一种调用关联应用的方法、装置、设备及计算机可读介质 | |
EP1722531B1 (en) | Method and system for detecting malicious wireless applications | |
CN118316887B (zh) | 一种用于群发信息的流量浪涌消除方法及装置 | |
CN113015115B (zh) | 计费消息处理方法、装置、计费系统和存储介质 | |
CN115134328B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |