CN111130939B - 一种流量控制方法、装置、计算机设备及存储介质 - Google Patents
一种流量控制方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111130939B CN111130939B CN201911366835.8A CN201911366835A CN111130939B CN 111130939 B CN111130939 B CN 111130939B CN 201911366835 A CN201911366835 A CN 201911366835A CN 111130939 B CN111130939 B CN 111130939B
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- flow
- console
- configuration information
- 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
- 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/0876—Network utilisation, e.g. volume of load or congestion level
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
- H04L41/5025—Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
-
- 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/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- 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/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种流量控制方法、装置、计算机设备及存储介质。该方法包括:将各微服务注册到面向分布式服务的轻量级流量控制框架的配置中心,并将各微服务接入到面向分布式服务的轻量级流量控制框架的控制台;通过所述控制台将配置信息推送到所述配置中心,并由所述配置中心将配置信息推送至各微服务;通过控制台实时监控并展示各微服务的流量,并根据监控到的流量对各微服务进行流量控制;通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理。该方法可对微服务进行可视化的流量监控,有效地解决调用微服务的过程中出现的异常现象,保证了微服务系统的稳定性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种流量控制方法、装置、计算机设备及存储介质。
背景技术
随着业务量和用户量的的逐渐增长,软件架构的发展经历了从单体结构、垂直架构、SOA架构到微服务架构的过程。目前,很多企业都选择微服务这条道路,因为微服务拆分粒度更细,有利于资源重复利用,提高开发效率,也可以更加精准的制定每个服务的优化方案,提高系统可维护性。
对于微服务而言,若请求量突然增大,则会出现由于服务压力过大,导致服务异常的情况,这种情况会对服务的维护造成很大的压力,而造成这种情况的一个重要原因是对各微服务没有进行可视化的流量监控,导致日常维护与服务升级没有可视化的数据作为基础,对突发的大流量请求也无法做到实时的监控与管控。
发明内容
本发明实施例提供了一种流量控制方法、装置、计算机设备及存储介质,旨在对微服务进行可视化的流量监控,有效地解决调用微服务的过程中出现的异常现象,保证了微服务系统的稳定性。
第一方面,本发明实施例提供了一种分布式服务的流量控制方法,其包括:
将各微服务注册到面向分布式服务的轻量级流量控制框架的配置中心,并将各微服务接入到面向分布式服务的轻量级流量控制框架的控制台;
通过所述控制台将配置信息推送到所述配置中心,并由所述配置中心将配置信息推送至各微服务;
通过控制台实时监控并展示各微服务的流量,并根据监控到的流量对各微服务进行流量控制;
通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理。
第二方面,本发明实施例提供了一种分布式服务的流量控制装置,其包括:
设置单元,用于将各微服务注册到面向分布式服务的轻量级流量控制框架的配置中心,并将各微服务接入到面向分布式服务的轻量级流量控制框架的控制台;
推送单元,用于通过所述控制台将配置信息推送到所述配置中心,并由所述配置中心将配置信息推送至各微服务;
第一监控单元,用于通过控制台实时监控并展示各微服务的流量,并根据监控到的流量对各微服务进行流量控制;
第二监控单元,用于通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的分布式服务的流量控制方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的分布式服务的流量控制方法。
本发明实施例提供了一种分布式服务的流量控制方法、装置、计算机设备及存储介质。该方法包括:将各微服务注册到面向分布式服务的轻量级流量控制框架的配置中心,并将各微服务接入到面向分布式服务的轻量级流量控制框架的控制台;通过所述控制台将配置信息推送到所述配置中心,并由所述配置中心将配置信息推送至各微服务;通过控制台实时监控并展示各微服务的流量,并根据监控到的流量对各微服务进行流量控制;通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理。本发明实施例使用分布式服务的流量控制方法,从对微服务进行可视化的流量监控,有效地解决调用微服务的过程中出现的异常现象,保证了微服务系统的稳定性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式服务的流量控制方法的流程图;
图2为本发明实施例提供的一种分布式服务的流量控制装置的结构框图;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1为本发明实施例所提供的一种分布式服务的流量控制方法的流程图。
具体步骤可以包括S110~S140:
S110:将各微服务注册到面向分布式服务的轻量级流量控制框架的配置中心,并将各微服务接入到面向分布式服务的轻量级流量控制框架的控制台;
在一实施例中,为了保证微服务之间的稳定性,需要先将各微服务(面向分布式服务的轻量级流量控制框架的客户端)注册到面向分布式服务的轻量级流量控制框架的配置中心,继而需要将各微服务接入到面向分布式服务的轻量级流量控制框架的控制台,并由所述控制台监控所有微服务产生的数据(如每秒查询率、并发线程数等等)以及请求数据(如请求的数量、请求的响应时间等等)。
S120:通过所述控制台将配置信息推送到所述配置中心,并由所述配置中心将配置信息推送至各微服务;
由于当前采用的方法是以http接口的形式对配置信息的推送进行数据处理,所以当需要发布配置规则时,将会遍历所有的微服务,继而以http的形式进行数据推送,使用这种方法对配置信息进行推送会出现推送效率低的问题。
本实施例通过所述控制台将配置信息推送到配置中心,并由所述配置中心将该配置信息推送至相应的各微服务。在本实施例中,可以使用nacos(一个易于构建云原生应用的动态服务发现、配置管理和服务管理平台,支持大部分主流类型的服务的发现、配置和管理)作为所述配置中心,也可以使用zookeeper(一个分布式的,开放源码的分布式应用程序协调服务,即为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。)作为所述配置中心,通过本实施例不仅可以解决微服务之间的稳定性问题,提高推送配置信息的效率,还可以减少对服务器进行维护的次数。
在一实施例中,所述并由所述配置中心将配置信息推送至各微服务,包括:
当接收到新的配置信息时,实时将配置信息推送至各微服务,或者定时将配置信息推送至各微服务。
当所述配置中心接收到新的配置信息时,可以选择实时地将该配置信息推送至各微服务,也可以预先设置好定时任务,定时将该配置信息推送至各微服务。通过实时地对配置信息进行推送,可以保证及时地进行后续的操作。需要说明的是,所述新的配置信息可以是对原配置信息进行修改后的配置信息。
其中,所述预先设置好定时任务,定时将该配置信息推送至各微服务即预先设置好一固定等待时长,当配置中心接收到新的配置信息时,不会直接将所述配置信息推送至各微服务,而是先进行等待步骤,当达到所述固定等待时长后,再将所述配置信息推送至各微服务。所述固定等待时长即从配置中心接收到配置信息开始,直至对该配置信息进行推送操作为止所耗费的时长。通过定时推送配置信息,可以有序地将该配置信息推送至各服务,进而提高处理效率。
S130:通过控制台实时监控并展示各微服务的流量,并根据监控到的流量对各微服务进行流量控制;
在本实施例中,可以通过控制台对接入的各微服务的流量(即流量数据)进行实时的监控,并将监控到的流量数据以图表的形式展示出来,所述图表根据具体需求,可以是表格,也可以是折线图或者柱状图。当微服务的流量过大或者遇到异常情况(遭遇到攻击)时,所述控制台将会根据监控到的流量数据对各微服务的流量进行直接限流、冷启动、排队等控制,以避免因为瞬时的流量高峰而导致服务器崩溃,进而保障各微服务的稳定性。
在一实施例中,所述通过控制台实时监控并展示各微服务的流量,并根据监控到的流量对各微服务进行流量控制,包括:
获取配置信息中的流量指标字段的字段值;
根据所述字段值确定所需监控的流量的指标,并且若所述字段值为0,则确认所述指标为微服务的每秒查询率,若所述字段值为1,则确认所述指标为微服务的并发线程数。
在本实施例中,所述控制台可以对两种流量的指标进行监控,继而根据监控到的流量的指标对各微服务进行流量控制;一种是可以通过监控并统计各微服务的每秒查询率,进而根据监控和统计到的每秒查询率对各微服务进行流量控制,另外一种则是可以通过监控并统计各微服务的并发线程数,进而根据监控和统计到的并发线程数对各微服务进行流量控制。为了确认具体是通过哪一个流量的指标对各微服务进行流量控制,可以先获取配置信息中的流量指标字段的字段值,继而根据所述字段值判断所需监控的流量的指标,若所述字段值为0,则判定所需监控的流量的指标为微服务的每秒查询率,若所述字段值为1,则判定所需监控的流量的指标为微服务的并发线程数。当微服务的流量过大或者遇到异常情况(遭遇到攻击),继而导致相应的流量的指标达到预设的相应的指标阈值时,所述控制台将会对各微服务的流量进行流量控制。
例如,可以通过FlowRule(全量的规则列表)的数字字段定义是由哪一种流量的指标对各微服务进行流量控制。其中,可以令0代表通过每秒查询率进行流量控制,令1代表通过并发线程数进行流量控制,若字段值设置为0,则表示将会通过每秒查询率进行流量控制,此时可以通过所述控制台提前设定每秒查询率阈值,设定完成后所述控制台将会以秒为单位,查询每个微服务在当前时刻的每秒查询率,并将对应的时刻以及每时刻的每秒查询率展示出来,同时也可以展示每时刻的响应时间,若查询结果为当前时刻的每秒查询率大于每秒查询率阈值,则所述控制台将会对微服务进行流量控制;若字段值设置为1,则表示将会通过并发线程数进行流量控制,此时可以通过所述控制台提前设定并发线程数阈值,设定完成后所述控制台可以每隔一固定时间查询各微服务的并发线程数,并通过折线图,将查询结果展示出来。
在所述折线图中,可以包括多个微服务,不同的微服务可以用不同的颜色或者不同粗细的折线区分,横坐标可以是可拖动的当前时间段;所述折线图也可以只显示单个微服务的多个变量,优选地,折线图下方可以同时通过表格直观的展示当前监控到的流量的指标。
若查询结果为一微服务的并发线程数大于并发线程数阈值,则所述控制台将会对该微服务进行流量控制。其中,并发线程数以及每秒查询率都可以由StatisticSlot(用于统计各种数据)实时统计获取。
在本实施例中,所述控制台可以通过远程配置中心对面向分布式服务框架的轻量级流量控制框架中的各微服务进行监控。通过统一配置中心控制台(Sentinel Dashboard)对监控的相关数据进行配置,可以通过所述统一配置中心控制台选择每个微服务具体监控的流量的指标(每秒查询率、并发线程数)、对应的阈值,也可以配置每个微服务的流控模式(直接控制、关联控制、链路控制等)以及流控效果(快速失败、排队等待、冷启动等),例如:可以将监控一微服务的流量指标设置为每秒查询率,对应的阈值设置为12,并将该微服务的流控模式设置为直接控制,流控效果设置为快速失败。
S140:通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理。
当前各微服务之间的调用关系复杂,也就是说如果在调用微服务的过程中,若某个请求出现调用超时或异常比例升高的不稳定的情况,进而导致对该请求处理不成功,就会因为无法处理后续的请求继而出现请求堆积现象。在本实施例中,可以通过控制台实时监控并展示各服务的状态,继而根据监测到的状态对各服务进行相应的熔断降级处理,所述熔断降级处理也就是在微服务的某个请求出现不稳定的情况时,对相应的微服务的调用进行限制,继而使所述请求快速失败,以免出现请求堆积现象,保证了对后续的请求的正常处理。
在一实施例中,所述通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理,包括:
获取微服务在第一时间窗口内对所有请求的响应时间;
若所述微服务在第一时间窗口内对所有请求的响应时间均超过响应时间阈值,则判定所述微服务的状态为不稳定状态;
对处于不稳定状态的微服务进行熔断降级处理。
在本实施例中,为了判断所述微服务的状态是否为不稳定状态,可以获取微服务在第一时间窗口内对所有请求的响应时间,并将所述响应时间与响应时间阈值进行比较,若所述响应时间均超过响应时间阈值,则可以判定所述微服务的状态为不稳定状态,继而对处于不稳定状态的微服务进行熔断降级处理。
例如,可以将第一时间窗口设置为1s,若一微服务在第一时间窗口1s内持续进入了5个请求,则所述控制台可以分别获取所述微服务在第一时间窗口1s内对5个请求的响应时间,并将获取到的响应时间与响应时间阈值进行比较,若比较结果为5个请求均超过响应时间阈值,则判定所述微服务的状态为不稳定状态,在后续的第一时间窗口内,对所述微服务的调用会被自动地熔断。
需要说明的是,在本实施例中,所述响应时间阈值可以预先设定。例如,可以将响应时间阈值设置为4000ms,当所述控制台分别对获取到的所述微服务的所有响应时间与响应时间阈值进行比较时,得到的比较结果为所述响应时间均大于或等于所述响应时间阈值,此时即可判断所述微服务的状态为不稳定状态,继而对所述微服务进行熔断降级处理。其中,本发明实施例默认将所述响应时间的上限设定为4900ms,即最多可统计到的响应时间为4900ms,也就是说,若响应时间超出此上限,对该响应时间进行获取后得到的值仍为4900ms。若需要重新配置所述响应时间阈值,可以通过启动配置项-Dcsp.sentinel.statistic.max.rt=xxx来配置。
在另一实施例中,所述通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理,包括:
获取微服务在第二时间窗口内所处理的请求的数量以及处理结果为异常的数量;
若所述微服务在第二时间窗口内所处理的请求的数量大于数量阈值,并且处理结果为异常的数量占所处理的请求的数量的比值超过比值阈值,则判定所述微服务的状态为不稳定状态;
对处于不稳定状态的微服务进行熔断降级处理。
在本实施例中,为了判断所述微服务的状态是否为不稳定状态,可以获取微服务在第二时间窗口内所处理的请求的数量以及处理结果为异常的数量,并将所述所处理的请求的数量与数量阈值进行比较,若所述所处理的请求的数量大于数量阈值,同时处理结果为异常的数量占所处理的请求的数量的比值超过比值阈值,则判定所述微服务的状态为不稳定状态,继而对处于不稳定状态的微服务进行熔断降级处理。其中,所述第二时间窗口可以与所述第一时间窗口相同,也可以不相同。
例如,可以预先将所述数量阈值设置为5,比值阈值设置为0.1,并将第二时间窗口设置为1s,则若获取得知微服务在第二时间窗口1s所处理的请求的数量为10,同时处理结果为异常的数量为5,则通过将所处理的请求的数量与数量阈值进行比较,可以得到比较结果为所述所处理的请求的数量大于数量阈值;同时通过计算处理结果为异常的数量占所处理的请求的数量的比值,继而将该比值与比值阈值进行比较可以得出所述比值大于比值阈值,此时判定结果为所述微服务的状态是不稳定状态,进而根据该判定结果,所述控制台对所述微服务进行熔断降级处理,即在后续第二时间窗口内,对所述微服务的调用会被自动地熔断。
在另一实施例中,所述通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理,包括:
获取微服务在第三时间窗口内对请求的处理结果为异常的数量;
若所述微服务在第三时间窗口内对请求的处理结果为异常的数量超过异常数阈值,则判定所述微服务的状态为不稳定状态;
对处于不稳定状态的微服务进行熔断降级处理。
为了更快地对处于不稳定状态的微服务进行熔断降级处理,可以对S140步骤进行调整,省略计算的步骤的同时改变需要进行比较操作的对象,并且在本实施例中不再需要同时满足两个条件才能进行熔断降级处理。也就是说,在本实施例中,为了判断所述微服务的状态是否为不稳定状态,可以获取微服务在第三时间窗口内对请求的处理结果为异常的数量,并将所述对请求的处理结果为异常的数量与异常数阈值进行比较,若所述对请求的处理结果为异常的数量大于异常数阈值,则判定所述微服务的状态为不稳定状态,继而对处于不稳定状态的微服务进行熔断降级处理。
优选地,可以预先设定第三时间窗口,并根据所述第三时间窗口设定异常数阈值,例如,可以将第三时间窗口设定为60s,而根据所述第三时间窗口,可以将异常数阈值设定为100个,则在第三时间窗口60s内,若获取得知微服务对请求的处理结果为异常的数量有150个,继而将所述对请求的处理结果为异常的数量与异常数阈值进行比较,得到比较结果为所述对请求的处理结果为异常的数量大于异常数阈值,则所述控制台会根据这一比较结果对所述微服务进行熔断降级处理。所述第三时间窗口可以与所述第一时间窗口和/或所述第二时间窗口相同,也可以不相同。当然,由于本实施例是基于处理结果为异常的数量来进行判断,所以需要较多的基数才能使判断更为准确,故所述第三时间窗口优选大于所述第二时间窗口,例如将所述第三时间窗口设置为第二时间窗口的60倍。例如第二时间窗口为1s,那么第三时间窗口可以为1min。
其中,所述对处于不稳定状态的微服务进行熔断降级处理,包括:
对于处于不稳定状态的微服务,控制在接下来的预定数量的相应时间窗口内的请求进行直接返回处理。
在本实施例中,对于处于不稳定状态的微服务,所述控制台将会进行熔断降级处理,也就是自动地熔断对所述微服务的调用,并控制在下一预定数量的相应时间窗口内的请求进行直接返回处理。由于当对微服务进行了熔断降级处理后,在进行熔断降级处理的相应的时间窗口内所述微服务没有对应的处理请求的数据,所以在熔断降级处理结束后的下一时间窗口,将不会再次对所述微服务进行熔断降级处理。本发明实施例中,此处的时间窗口与前面判断是否进行熔断降级处理的时间窗口相同。例如采用第一时间窗口的条件进行判断,那么此处的时间窗口为第一时间窗口;采用第二时间窗口的条件进行判断,那么此处的时间窗口为第二时间窗口;采用第三时间窗口的条件进行判断,那么此处的时间窗口为第三时间窗口。
在一实施例中,请参见图2,图2为本发明实施例所提供的一种分布式服务的流量控制装置200的结构框图;
该装置200可以包括:
设置单元201,用于将各微服务注册到面向分布式服务的轻量级流量控制框架的配置中心,并将各微服务接入到面向分布式服务的轻量级流量控制框架的控制台;
推送单元202,用于通过所述控制台将配置信息推送到所述配置中心,并由所述配置中心将配置信息推送至各微服务;
第一监控单元203,用于通过控制台实时监控并展示各微服务的流量,并根据监控到的流量对各微服务进行流量控制;
第二监控单元204,用于通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理。
在一实施例中,所述第一监控单元203包括:
第一获取单元,用于获取配置信息中的流量指标字段的字段值;
第一判断单元,根据所述字段值确定所需监控的流量的指标,并且若所述字段值为0,则确认所述指标为微服务的每秒查询率,若所述字段值为1,则确认所述指标为微服务的并发线程数。
在一实施例中,所述第二监控单元204包括:
第二获取单元,用于获取微服务在第一时间窗口内对所有请求的响应时间;
第二判断单元,用于若所述微服务在第一时间窗口内对所有请求的响应时间均超过响应时间阈值,则判定所述微服务的状态为不稳定状态;
第一处理单元,用于对处于不稳定状态的微服务进行熔断降级处理。
在一实施例中,所述第二监控单元204包括:
第三获取单元,用于获取微服务在第二时间窗口内所处理的请求的数量以及处理结果为异常的数量;
第三判断单元,若所述微服务在第二时间窗口内所处理的请求的数量大于数量阈值,并且处理结果为异常的数量占所处理的请求的数量的比值超过比值阈值,则判定所述微服务的状态为不稳定状态;
第二处理单元,用于对处于不稳定状态的微服务进行熔断降级处理。
在一实施例中,所述第二监控单元204包括:
第四获取单元,用于获取微服务在第三时间窗口内对请求的处理结果为异常的数量;
第四判断单元,若所述微服务在第三时间窗口内对请求的处理结果为异常的数量超过异常数阈值,则判定所述微服务的状态为不稳定状态;
第三处理单元,用于对处于不稳定状态的微服务进行熔断降级处理。
在一实施例中,所述推送单元202包括:
第一推送单元,用于当接收到新的配置信息时,实时将配置信息推送至各微服务,或者定时将配置信息推送至各微服务。
在一实施例中,所述第二监控单元204包括:
第四处理单元,用于对于处于不稳定状态的微服务,控制在接下来的预定数量的相应时间窗口内的请求进行直接返回处理。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的方法。
本发明还提供了一种计算机设备,可以包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例所提供的方法。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (6)
1.一种分布式服务的流量控制方法,其特征在于,包括:
将各微服务注册到面向分布式服务的轻量级流量控制框架的配置中心,并将各微服务接入到面向分布式服务的轻量级流量控制框架的控制台;
通过所述控制台将配置信息推送到所述配置中心,并由所述配置中心将配置信息推送至各微服务;其中,使用nacos或者zookeeper作为所述配置中心;
通过控制台实时监控并展示各微服务的流量,并根据监控到的流量对各微服务进行流量控制;将监控到的流量数据以图表的形式展示出来,所述图表为表格、折线图或者柱状图;通过FlowRule的数字字段定义是由哪一种流量的指标对各微服务进行流量控制;
通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理;
所述通过控制台实时监控并展示各微服务的流量,并根据监控到的流量对各微服务进行流量控制,包括:
获取配置信息中的流量指标字段的字段值;
根据所述字段值确定所需监控的流量的指标,并且若所述字段值为0,则确认所述指标为微服务的每秒查询率,若所述字段值为1,则确认所述指标为微服务的并发线程数;并发线程数以及每秒查询率通过StatisticSlot实时统计获取;
所述通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理,包括:
获取微服务在第二时间窗口内所处理的请求的数量以及处理结果为异常的数量;
若所述微服务在第二时间窗口内所处理的请求的数量大于数量阈值,并且处理结果为异常的数量占所处理的请求的数量的比值超过比值阈值,则判定所述微服务的状态为不稳定状态;
对处于不稳定状态的微服务进行熔断降级处理。
2.如权利要求1所述的分布式服务的流量控制方法,其特征在于,所述并由所述配置中心将配置信息推送至各微服务,包括:
当接收到新的配置信息时,实时将配置信息推送至各微服务,或者定时将配置信息推送至各微服务。
3.如权利要求1所述的分布式服务的流量控制方法,其特征在于,所述对处于不稳定状态的微服务进行熔断降级处理,包括:
对于处于不稳定状态的微服务,控制在接下来的预定数量的相应时间窗口内的请求进行直接返回处理。
4.一种分布式服务的流量控制装置,其特征在于,包括:
设置单元,用于将各微服务注册到面向分布式服务的轻量级流量控制框架的配置中心,并将各微服务接入到面向分布式服务的轻量级流量控制框架的控制台;
推送单元,用于通过所述控制台将配置信息推送到所述配置中心,并由所述配置中心将配置信息推送至各微服务;其中,使用nacos或者zookeeper作为所述配置中心;
第一监控单元,用于通过控制台实时监控并展示各微服务的流量,并根据监控到的流量对各微服务进行流量控制;将监控到的流量数据以图表的形式展示出来,所述图表为表格、折线图或者柱状图;通过FlowRule的数字字段定义是由哪一种流量的指标对各微服务进行流量控制;
第二监控单元,用于通过控制台实时监控并展示各微服务的状态,并根据监控到的状态对各微服务进行熔断降级处理;
所述第一监控单元包括:
第一获取单元,用于获取配置信息中的流量指标字段的字段值;
第一判断单元,根据所述字段值确定所需监控的流量的指标,并且若所述字段值为0,则确认所述指标为微服务的每秒查询率,若所述字段值为1,则确认所述指标为微服务的并发线程数;并发线程数以及每秒查询率通过StatisticSlot实时统计获取;
所述第二监控单元包括:
第三获取单元,用于获取微服务在第二时间窗口内所处理的请求的数量以及处理结果为异常的数量;
第三判断单元,若所述微服务在第二时间窗口内所处理的请求的数量大于数量阈值,并且处理结果为异常的数量占所处理的请求的数量的比值超过比值阈值,则判定所述微服务的状态为不稳定状态;
第二处理单元,用于对处于不稳定状态的微服务进行熔断降级处理。
5.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的一种分布式服务的流量控制方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的一种分布式服务的流量控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911366835.8A CN111130939B (zh) | 2019-12-26 | 2019-12-26 | 一种流量控制方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911366835.8A CN111130939B (zh) | 2019-12-26 | 2019-12-26 | 一种流量控制方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111130939A CN111130939A (zh) | 2020-05-08 |
CN111130939B true CN111130939B (zh) | 2021-09-10 |
Family
ID=70503110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911366835.8A Active CN111130939B (zh) | 2019-12-26 | 2019-12-26 | 一种流量控制方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111130939B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113676434B (zh) * | 2020-05-13 | 2023-03-24 | 华为技术有限公司 | 网络资源的熔断方法、装置、电子设备及存储介质 |
CN111787073B (zh) * | 2020-06-18 | 2023-08-22 | 庞茂林 | 一种统一服务的限流熔断平台及其方法 |
CN112187511A (zh) * | 2020-08-28 | 2021-01-05 | 苏州浪潮智能科技有限公司 | 一种定位微服务熔断异常的方法、系统、设备及介质 |
CN112231168A (zh) * | 2020-09-03 | 2021-01-15 | 平安信托有限责任公司 | 微服务器管控方法、装置、设备及存储介质 |
CN111984310A (zh) * | 2020-09-16 | 2020-11-24 | 深圳市火星人互动娱乐有限公司 | 一种Sentinel基于Nacos推模式持久化方法 |
CN114363153B (zh) * | 2020-09-27 | 2024-01-26 | 中国电信股份有限公司 | 熔断器和服务的自适应熔断方法 |
CN112181541A (zh) * | 2020-09-29 | 2021-01-05 | 京东数字科技控股股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN112965848A (zh) * | 2021-03-05 | 2021-06-15 | 北京百度网讯科技有限公司 | 用于微服务的熔断降级方法、装置、设备和介质 |
CN112965823B (zh) * | 2021-03-24 | 2023-12-26 | 百度在线网络技术(北京)有限公司 | 调用请求的控制方法、装置、电子设备和存储介质 |
CN114862217A (zh) * | 2022-05-16 | 2022-08-05 | 青岛特来电新能源科技有限公司 | 基于充电云平台的监控数据分级管理方法、装置及设备 |
CN115348311A (zh) * | 2022-07-26 | 2022-11-15 | 苏州臻璇数据信息技术有限公司 | 基于微服务的限流方法和装置、存储介质、电子装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106774220A (zh) * | 2017-01-20 | 2017-05-31 | 上海电力学院 | 一种火电厂分布式控制系统在线运行状态监测平台 |
CN107454004A (zh) * | 2016-05-30 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种流量控制方法和装置 |
CN107894874A (zh) * | 2017-11-17 | 2018-04-10 | 北京联想超融合科技有限公司 | 基于超融合存储系统的数据读写控制方法、终端及系统 |
CN109412853A (zh) * | 2018-10-31 | 2019-03-01 | 中国建设银行股份有限公司 | 分布式服务注册存储方法、系统、装置和存储介质 |
CN109684105A (zh) * | 2018-12-18 | 2019-04-26 | 中国平安人寿保险股份有限公司 | 在微服务架构下对请求进行控制的方法、设备和存储介质 |
CN110149364A (zh) * | 2019-04-15 | 2019-08-20 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
CN110535902A (zh) * | 2019-07-16 | 2019-12-03 | 平安普惠企业管理有限公司 | 基于微服务实现监控智能化的处理方法及电子装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515978B (zh) * | 2016-01-08 | 2018-11-02 | 盛科网络(苏州)有限公司 | 实现分布式路由、物理主机接入的方法及装置 |
CN108540468B (zh) * | 2018-04-02 | 2020-08-25 | 携程旅游信息技术(上海)有限公司 | 请求的控制与路由方法及其系统、存储介质、电子设备 |
CN108600005A (zh) * | 2018-04-23 | 2018-09-28 | 国云科技股份有限公司 | 一种防御微服务雪崩效应的方法 |
-
2019
- 2019-12-26 CN CN201911366835.8A patent/CN111130939B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454004A (zh) * | 2016-05-30 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种流量控制方法和装置 |
CN106774220A (zh) * | 2017-01-20 | 2017-05-31 | 上海电力学院 | 一种火电厂分布式控制系统在线运行状态监测平台 |
CN107894874A (zh) * | 2017-11-17 | 2018-04-10 | 北京联想超融合科技有限公司 | 基于超融合存储系统的数据读写控制方法、终端及系统 |
CN109412853A (zh) * | 2018-10-31 | 2019-03-01 | 中国建设银行股份有限公司 | 分布式服务注册存储方法、系统、装置和存储介质 |
CN109684105A (zh) * | 2018-12-18 | 2019-04-26 | 中国平安人寿保险股份有限公司 | 在微服务架构下对请求进行控制的方法、设备和存储介质 |
CN110149364A (zh) * | 2019-04-15 | 2019-08-20 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
CN110535902A (zh) * | 2019-07-16 | 2019-12-03 | 平安普惠企业管理有限公司 | 基于微服务实现监控智能化的处理方法及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111130939A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111130939B (zh) | 一种流量控制方法、装置、计算机设备及存储介质 | |
CN109660380B (zh) | 服务器运行状态的监控方法、平台、系统及可读存储介质 | |
US20150120914A1 (en) | Service monitoring system and service monitoring method | |
US20170161812A1 (en) | Querying for business service processing status information | |
US20050071450A1 (en) | Autonomic SLA breach value estimation | |
US9491247B2 (en) | Automatic capture of detailed analysis information based on remote server analysis | |
CN110308985B (zh) | 云专属服务器资源管理方法、装置、设备及存储介质 | |
CN110417614B (zh) | 云服务器自检方法、装置、设备及计算机可读存储介质 | |
CN110471749A (zh) | 任务处理方法、装置、计算机可读存储介质和计算机设备 | |
CN112954311A (zh) | 一种直播流媒体的性能测试方法及其系统 | |
CN108199861B (zh) | 一种机房管理方法及装置 | |
CN106506278B (zh) | 一种服务可用性监控方法及装置 | |
US11146447B2 (en) | Method and apparatus of establishing computer network monitoring criteria | |
CN111710403A (zh) | 医疗设备的监管方法、设备及可读存储介质 | |
CN112380478A (zh) | 网页截图方法、装置、计算机设备及计算机可读存储介质 | |
CN110071952B (zh) | 服务调用量的控制方法和装置 | |
CN111262909A (zh) | 一种大屏信息显示方法、装置、设备和存储介质 | |
CN111581087B (zh) | 应用程序测试方法和装置 | |
CN110262955A (zh) | 基于pinpoint的应用性能监控工具 | |
CN111107084B (zh) | 一种监控方法、装置、电子设备及存储介质 | |
CN107689886A (zh) | 数据接口故障处理方法、装置及电子设备 | |
US11836528B2 (en) | Throttling thread resources of service computing platform | |
CN108234658B (zh) | 一种感知服务器集群健康状况的方法、装置和服务器 | |
CN115391141A (zh) | 数据库流量分析方法、装置、设备及可读存储介质 | |
CN115174350A (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 |