微服务应用的网络流量控制方法、装置、设备及介质与流程

未命名 08-05 阅读:137 评论:0


1.本技术涉及移动互联领域,尤其涉及一种微服务应用的网络流量控制方法、装置、设备及介质。


背景技术:

2.随着计算机技术的飞速发展,微服务架构(micro service architecture)因其各服务之间耦合度低、与容器技术相结合运行稳定性高等的优点,得到的广泛的应用。
3.现有技术中,在对微服务应用的流量进行控制时,是根据微服务应用预设的质量等级,根据质量等级对流量进行控制。其中,质量等级可以根据微服务应用使用的频次大小进行确定。
4.但是现有技术对微服务应用的流量控制不够准确,影响微服务应用运行的稳定性。


技术实现要素:

5.本技术提供一种微服务应用的网络流量控制方法、装置、设备及介质,用以解决现有技术对微服务应用的流量控制不够准确,影响微服务应用运行的稳定性的问题。
6.第一方面,本技术提供一种微服务应用的网络流量控制方法,包括:
7.获取目标微服务应用的调用请求,所述调用请求中包括所述目标微服务应用的标识信息;
8.根据所述调用请求,确定与所述标识信息对应的所述目标微服务应用当前的流量监控信息,所述流量监控信息包括日志信息及流量调用数据;
9.若所述日志信息中包含限流关键字和/或所述流量调用数据超过预设流量阈值,则对所述目标微服务应用进行流量控制。
10.第二方面,本技术提供一种微服务应用的网络流量控制装置,包括:
11.获取模块,用于获取目标微服务应用的调用请求,所述调用请求中包括所述目标微服务应用的标识信息;
12.确定模块,用于根据所述调用请求,确定与所述标识信息对应的所述目标微服务应用当前的流量监控信息,所述流量监控信息包括日志信息及流量调用数据;
13.处理模块,用于若所述日志信息中包含限流关键字和/或所述流量调用数据超过预设流量阈值,则对所述目标微服务应用进行流量控制。
14.第三方面,本技术提供一种电子设备,包括:
15.至少一个处理器、存储器;
16.所述存储器存储计算机执行指令;
17.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行第一方面任一项所述的微服务应用的网络流量控制方法。
18.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存
储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的微服务应用的网络流量控制方法。
19.第五方面,本技术提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任一项所述的微服务应用的网络流量控制方法。
20.本技术提供的一种微服务应用的网络流量控制方法、装置、设备及介质,通过获取目标微服务应用的调用请求,其中,调用请求中包括目标微服务应用的标识信息。并根据调用请求,确定与标识信息对应的目标微服务应用当前的流量监控信息,该流量监控信息包括日志信息及流量调用数据,若日志信息中包含限流关键字和/或流量调用数据超过预设流量阈值,则对目标微服务应用进行流量控制。本技术通过判断日志信息中是否包含限流关键字和/或流量调用数据是否超过预设流量阈值对目标微服务应用进行流量控制,提高了对目标微服务应用控制结果的准确性,提升了微服务应用运行的平稳性。
附图说明
21.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
22.图1为本技术提供的一种微服务架构的示意图;
23.图2为本技术提供的一种应用场景示意图;
24.图3为本技术实施例提供的一种微服务应用的网络流量控制方法的流程示意图;
25.图4为本技术实施例提供的一种确定目标微服务应用当前的流量监控信息的方法的流程示意图;
26.图5为本技术实施例提供的一种对目标微服务应用进行流量控制的方法的流程示意图;
27.图6为本技术实施例提供的一种微服务应用的网络流量控制装置的结构示意图;
28.图7为本技术实施例提供的一种电子设备的结构示意图。
29.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
30.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
31.在本技术实施例的描述中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例也可以在本技术图示或描述的那些以外的顺序实施。
32.术语“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示装置或构件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
33.此外,在本技术实施例的描述中,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个构件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本技术实施例中的具体含义。
34.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
35.需要说明的是,本技术提供的微服务应用的网络流量控制方法、装置、设备及介质可用于移动互联领域,也可用于除移动互联领域之外的任意领域,本技术对微服务应用的网络流量控制方法、装置、设备及介质的应用领域不做限定。
36.微服务架构是一种架构模式,是将单一的应用程序划分成一组小的服务,每个小的服务运行在其独立的进程内,各微服务之间互相协调,互相配置,为用户直接提供相应的某个功能实现。
37.示例性的,
38.图1为本技术提供的一种微服务架构的示意图,如图1所示,以购物场景为例,传统的架构是将产品服务功能、订单服务功能、用户服务功能部署在一个容器中。而微服务架构是将产品服务功能、订单服务功能、用户服务功能分别部署在三个容器中,各容器之间独立运行。
39.随着微服务架构的发展,包含大量微服务应用的平台即企业级微服务架构被提出,由于微服务应用数量多,数据流量级别高,为了保证微服务应用的安全可靠,对各个微服务应用所需的网络流量进行控制变显得尤为重要。
40.现有技术中,在对微服务应用的流量进行控制时,是根据各微服务应用使用的频次高低,将使用频次高的微服务应用的质量等级设置高一点,将使用频次低的微服务应用的质量等级设置低一点,进而,根据微服务应用之间质量等级的高低,控制各微服务应用调用的流量。
41.但是现有技术中,目前的流量控制方式不够准确,例如,在某些特殊时期,当用户集中使用某一微服务应用时,该微服务应用短期内达到流量高峰,使得该微服务应用运行的稳定性变差,影响用户体验。
42.因此,针对现有技术的上述技术问题,本技术提出一种微服务应用的网络流量控制方法、装置、设备及介质。通过获取目标微服务应用的调用请求,其中,调用请求中包括目标微服务应用的标识信息。并根据调用请求,确定与标识信息对应的目标微服务应用当前的流量监控信息,该流量监控信息包括日志信息及流量调用数据,若日志信息中包含限流关键字和/或流量调用数据超过预设流量阈值,则对目标微服务应用进行流量控制。本技术通过判断日志信息中是否包含限流关键字和/或流量调用数据是否超过预设流量阈值对目标微服务应用进行流量控制,降低了根据质量等级对流量进行控制的不准确性,当目标微服务应用在短期内达到流量高峰时,通过本技术可以有效的提高对目标微服务应用控制结果的准确性,提升用户体验。
43.为了便于理解本技术,下面示例性的说明本技术的一种应用场景,图2为本技术提供的一种应用场景示意图,如图2所示:包括终端101、网络流量控制平台102。
44.其中,用户通过终端101使用目标微服务应用提供的某一业务功能。
45.网络流量控制平台102用于对该目标微服务应用调用的流量进行控制,以满足用户对该业务功能的使用需求。
46.可以理解的是,本技术中,不对应用场景中的终端101及网络流量控制系统102的类型、数量及连接方式等进行限定,上述场景仅用于举例说明,在方案的具体应用中,可以根据实际需求进行设定。
47.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
48.图3为本技术实施例提供的一种微服务应用的网络流量控制方法的流程示意图,该方法的执行主体可以为具备网络流量控制功能的设备,例如,可以为网络流量控制平台、计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备、服务器或服务器集群等。
49.本实施例中的方法可以通过软件、硬件或者软硬件结合的方式来实现。如图3所示,该方法具体包括以下步骤:
50.s301、获取目标微服务应用的调用请求,调用请求中包括目标微服务应用的标识信息。
51.本实施例中,执行主体以网络流量控制平台为例,应用场景以用户办理某银行业务为例。
52.用户在终端的显示页面上选择待办理的银行业务,并选择该银行业务下具体的服务,其中,不同的服务对应不同的微服务应用。用户确定出具体的服务后,例如产品服务,进而确定了与该服务对应的目标微服务应用。
53.本实施例中,用户终端可与网络流量控制平台进行信息交互,因此,网络流量控制平台可以获取到终端发送的与用户相关的多种信息及终端信息。
54.网络流量控制平台获取终端发送的对该目标微服务应用的调用请求,在该调用请求中至少包括:该目标微服务应用的标识信息。
55.该标识信息具有唯一性,根据该标识信息可以确定对应的微服务应用。
56.可选的,可以基于http协议的服务及轻量级客户端框架feign,进行微服务应用的调用。
57.通过预先在终端中配置的初始化的feign,即在feign中设置了目标微服务应用的标识信息以及定义了目标微服务应用的接口信息等,当用户访问目标微服务应用时,通过目标微服务应用对应的http网络地址,来获取用户访问目标微服务应用的调用请求信息。其中,标识信息中可以包括请求地址信息、编码信息、解码信息等多种信息。
58.s302、根据调用请求,确定与标识信息对应的目标微服务应用当前的流量监控信息,流量监控信息包括日志信息及流量调用数据。
59.网络流量控制平台根据接收到的调用请求中的标识信息,通过相应的路径,确定出与该标识信息对应的目标微服务应用当前的流量监控信息。
60.其中,流量监控信息中至少包括:预设格式的日志信息及流量调用数据中的一种
或多种。
61.示例性的,在微服务中,服务链路调用较多,如果日志没有明显的标识,很难排查关联的日志信息,因此在日志文件中,对于一个调用请求,会对应有一个日志追踪id信息。因此,本技术中根据调用请求,可以先确定出日志追踪id信息,进而根据日志追踪id信息,从对应的日志文件中获取目标微服务的日志信息。
62.示例性的,在微服务中,微服务应用流量需要经过微服务网关的控制,因次根据目标微服务的标识信息可以确定目标微服务与微服务网关之间的连接通路,进而基于任一种流量监控工具,获取目标微服务应用当前的流量调用数据。
63.s303、若日志信息中包含限流关键字和/或流量调用数据超过预设流量阈值,则对目标微服务应用进行流量控制。
64.网络流量控制平台获取到流量监控信息后,若流量监控信息为日志信息,判断该日志信息中是否包含限流关键字。
65.本实施例中,限流关键字可以有多个,限流关键字可以根据实际情况由运维人员和技术人员预先存储至网络流量控制平台中。
66.若包含限流关键字,说明当前调用该目标微服务应用的请求数量较多,网络流量控制平台需要对该目标微服务应用进行流量控制。
67.若流量监控信息为流量调用数据,网络流量控制平台判断流量调用数据是否超过预设流量阈值。若流量调用数据超过预设流量阈值,网络流量控制平台需要对该目标微服务应用进行流量控制。
68.本实施例中,也可以判断流量调用数据是否超过预设流量阈值预设的百分比,若超过预设百分比,对该目标微服务应用进行流量控制。本实施例中,也可以获取单位时间内向目标微服务应用发送的多个服务请求的发送时间,以及,目标微服务应用对各个服务请求的开始时间。进而根据发送时间和开始时间,确定单位时间内目标微服务应用对各服务请求的调度时延。若调度时延超过预设时延的次数超过预设次数阈值,说明当前调用该目标微服务应用的请求数量较多,网络流量控制平台需要对该目标微服务应用进行流量控制。本实施例中,也可以获取单位时间内调用目标微服务应用的线程数,若线程数超过预设线程数阈值,网络流量控制平台需要对该目标微服务应用进行流量控制。
69.本实施例中,也可以获取单位时间内调用目标微服务应用的吞吐量,若吞吐量超过预设吞吐量阈值,对该目标微服务应用进行流量控制。
70.进一步的,若日志信息中包含限流关键字和/或流量调用数据超过预设流量阈值,网络流量控制平台则输出预警提示信息。
71.或者,若调度时延超过预设时延的次数超过预设次数阈值、线程数超过预设线程数阈值或吞吐量超过预设吞吐量阈值,网络流量控制平台则输出预警提示信息。
72.其中,预警提示信息中包括目标微服务的标识信息、名称信息、预警时间以及ip地址信息中的至少一个信息。该预警提示信息用于提示用户目标微服务应用需进行流量控制;
73.可选的,预警的方式可以为:
74.蜂鸣器发出蜂鸣声、或声光报警器发出闪烁和声音、或语音报警器播报语音、或可视化显示屏进行显示等一种方式或多种方式的组合。
75.可以理解的是,上述预警方式及预警装置仅用于举例说明,不作为对本技术的限制,还可以是短信预警、电话预警、网页预警、邮件预警等方式。
76.在本技术的上述实施例中,通过获取目标微服务应用的调用请求,其中,调用请求中包括目标微服务应用的标识信息。并根据调用请求,确定与标识信息对应的目标微服务应用当前的流量监控信息,该流量监控信息包括日志信息及流量调用数据,若日志信息中包含限流关键字和/或流量调用数据超过预设流量阈值,则对目标微服务应用进行流量控制。本技术通过判断日志信息中是否包含限流关键字和/或流量调用数据是否超过预设流量阈值对目标微服务应用进行流量控制,提高了对目标微服务应用控制结果的准确性,提升了微服务应用运行的平稳性。
77.进一步的,在上述实施例的基础之上,通过下方的实施例说明步骤s302中根据调用请求,确定与标识信息对应的目标微服务应用当前的流量监控信息的过程。
78.图4为本技术实施例提供的一种确定目标微服务应用当前的流量监控信息的方法的流程示意图,如图4所示,该方法包括以下步骤:
79.s401、根据标识信息,确定控制目标微服务应用的微服务网关。
80.一个微服务网关可以控制多个微服务应用,因此,根据目标微服务应用的标识信息,可以确定出控制该目标微服务应用的微服务网关。
81.本实施例中,对一个微服务网关可以控制多个微服务应用的数量不进行限定,可以根据实际的应用情况进行确定。
82.s402、从微服务网关中获取与标识信息对应的目标微服务应用的路由数据,路由数据中包括有用于指示获取日志信息的第一路径信息,以及,用于指示获取流量调用数据的第二路径信息。
83.在微服务网关中可以配置与微服务应用流量相关的路由规则,在路由规则中包含有路由数据。路由数据中至少包括用于指示获取日志信息的第一路径信息,以及,用于指示获取流量调用数据的第二路径信息。
84.因此,网络流量控制平台可以从微服务网关中获取目标微服务应用的路由数据,从而获取到第一路径信息和第二路径信息。
85.s403、根据第一路径信息,获取目标微服务应用的日志信息。
86.根据获取到的第一路径信息,向与第一路径信息对应的地址中获取该目标微服务应用的日志信息。
87.s404、根据第二路径信息,获取目标微服务应用的流量调用数据。
88.根据获取到的第二路径信息,向与第二路径信息对应的地址中获取改目标微服务应用的流量调用数据。
89.需要说明的是,步骤s403与步骤s404没有时序之间的关系,可以先执行步骤s403后执行步骤s404,也可以先执行步骤s404后执行步骤s403,还可以同时执行步骤s403和s404。
90.在本技术的上述实施例中,通过根据标识信息,确定控制目标微服务应用的微服务网关,并从微服务网关中获取与标识信息对应的目标微服务应用的路由数据,其中,路由数据中包括有用于指示获取日志信息的第一路径信息,以及,用于指示获取流量调用数据的第二路径信息。进而根据第一路径信息,获取目标微服务应用的日志信息,根据第二路径
信息,获取目标微服务应用的流量调用数据。本实施例通过获取日志信息和流量调用数据,使得后续根据日志信息中是否包含限流关键字和/或流量调用数据是否超过预设流量阈值来对目标微服务应用进行流量控制的方式更加准确,有效的提升了用户体验。
91.更进一步的,下面,通过图5所示的实施例,说明步骤s303中若日志信息中包含限流关键字和/或流量调用数据超过预设流量阈值,对目标微服务应用进行流量控制的过程。
92.图5为本技术实施例提供的一种对目标微服务应用进行流量控制的方法的流程示意图,如图5所示,该方法包括以下步骤:
93.s501、获取微服务网关的可承载流量数据以及微服务网关下除目标微服务应用之外的其他各微服务应用当前的流量调用数据。
94.一个微服务网关可以控制多个微服务应用,除目标微服务应用外,分别从剩余的每一个微服务应用的流量入口点和流量出口点获取当前的流量调用数据。
95.示例性的,
96.假设微服务网关下控制有四个微服务应用,包括目标微服务应用和其余三个微服务应用。
97.假设获取到的微服务网关的可承载流量数据为100%流量,获取到的其余三个微服务应用当前的流量调用数据分别为20%流量、30%流量、10%流量。
98.s502、将其他各微服务应用当前的流量调用数据进行累加,得到其他各微服务应用当前的总流量调用数据。
99.将其余三个微服务应用当前的流量调用数据20%流量、30%流量、10%流量进行相加,得到总流量调用数据60%流量。
100.s503、根据可承载流量数据、总流量调用数据及目标微服务应用的流量调用数据,对目标微服务应用进行流量控制。
101.一种可能的实现方式是:
102.将总流量调用数据与目标微服务应用的流量调用数据进行相加处理,得到微服务网关当前的实际调用的流量数据。
103.假设在步骤302中获取的目标微服务应用流量调用数据为30%流量,将总流量调用数据60%流量与30%流量进行相加,得到微服务网关当前的实际调用的流量数据90%流量。
104.若实际调用的流量数据小于可承载流量数据,根据可承载流量数据中的剩余流量数据对目标微服务应用进行流量扩容处理。
105.若实际调用的流量数据90%流量小于微服务网关的可承载流量数据100%,说明微服务网关中流量并未完全使用,为了避免目标微服务应用在流量高峰期出现网络拥堵情况,可以将可承载流量数据中的剩余流量数据10%流量对目标微服务应用进行流量扩容处理。
106.或者,响应于用户输入的扩容流量数据,对目标微服务应用进行流量扩容处理,其中,扩容流量数据小于或等于可承载流量数据中的剩余流量数据。
107.例如,用户可以根据可承载流量数据中的剩余流量数据10%流量,在微服务网关中修改目标微服务应用对应的流量配置参数,假设输入的扩容流量数据5%,从而对目标微服务应用进行流量扩容。
108.当日志信息中包含限流关键字和/或流量调用数据超过预设流量阈值,网络流量控制平台输出预警提示信息后,运维人员或者技术人员可以在微服务网关中配置流量控制规则,调整流量控制参数及相关的容器资源,从而在满足微服务网关的可承载流量数据的情况下,对目标微服务应用进行流量扩容处理。
109.在对目标微服务应用进行流量扩容处理时,可以基于令牌桶算法进行,通过增多目标微服务应用对应的令牌(指令)生成数量,数量越多,目标微服务应用可处理的请求越多。
110.也可以基于漏桶算法,在微服务网关总输出速率不变的情况下,通过控制微服务网关下除目标微服务应用外其余三个微服务应用的对处理的请求的输出速率,从而提高目标微服务应用处理的请求的输出速率。
111.在本技术的上述实施例中,通过获取微服务网关的可承载流量数据以及微服务网关下除目标微服务应用之外的其他各微服务应用当前的流量调用数据,将其他各微服务应用当前的流量调用数据进行累加,得到其他各微服务应用当前的总流量调用数据,根据可承载流量数据、总流量调用数据及目标微服务应用的流量调用数据,对目标微服务应用进行流量控制,降低了根据质量等级对流量进行控制的准确性较差的问题,当目标微服务应用在短期内达到流量高峰时,通过本实施例的方法,可以有效的提高对目标微服务应用控制结果的准确性和微服务应用运行的稳定性。
112.图6为本技术实施例提供的一种微服务应用的网络流量控制装置的结构示意图,该装置包括:获取模块601、确定模块602、处理模块603。
113.获取模块601,用于获取目标微服务应用的调用请求,调用请求中包括目标微服务应用的标识信息。
114.确定模块602,用于根据调用请求,确定与标识信息对应的目标微服务应用当前的流量监控信息,流量监控信息包括日志信息及流量调用数据。
115.处理模块603,用于若日志信息中包含限流关键字和/或流量调用数据超过预设流量阈值,则对目标微服务应用进行流量控制。
116.一种可能的实现方式是,确定模块602,具体用于:
117.根据标识信息,确定控制目标微服务应用的微服务网关。
118.从微服务网关中获取与标识信息对应的目标微服务应用的路由数据,路由数据中包括有用于指示获取日志信息的第一路径信息,以及,用于指示获取流量调用数据的第二路径信息。
119.根据第一路径信息,获取目标微服务应用的日志信息。
120.根据第二路径信息,获取目标微服务应用的流量调用数据。
121.一种可能的实现方式是,处理模块603,具体用于:
122.获取微服务网关的可承载流量数据以及微服务网关下除目标微服务应用之外的其他各微服务应用当前的流量调用数据。
123.将其他各微服务应用当前的流量调用数据进行累加,得到其他各微服务应用当前的总流量调用数据。
124.根据可承载流量数据、总流量调用数据及目标微服务应用的流量调用数据,对目标微服务应用进行流量控制。
125.一种可能的实现方式是,处理模块603,具体用于:
126.将总流量调用数据与目标微服务应用的流量调用数据进行相加处理,得到微服务网关当前的实际调用的流量数据。
127.若实际调用的流量数据小于可承载流量数据,根据可承载流量数据中的剩余流量数据对目标微服务应用进行流量扩容处理。
128.一种可能的实现方式是,该装置还包括预警模块,用于:
129.若日志信息中包含限流关键字和/或流量调用数据超过预设流量阈值,则输出预警提示信息,预警提示信息用于提示用户目标微服务应用需进行流量控制。
130.其中,预警提示信息中包括目标微服务的标识信息、名称信息、预警时间以及ip地址信息中的至少一个信息。
131.一种可能的实现方式是,处理模块603,还用于:
132.响应于用户输入的扩容流量数据,对目标微服务应用进行流量扩容处理,扩容流量数据小于或等于可承载流量数据中的剩余流量数据。
133.本实施例提供的微服务应用的网络流量控制装置,用于执行前述任一的方法实施例,其实现原理与技术效果类似,对此不再赘述。
134.需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
135.例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,asic),或,一个或多个数字信号处理器(digital signal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)等。再如,当以上某个模块通过处理元件调用程序代码的形式实现时,该处理元件可以是通用处理器,例如cpu或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。
136.图7为本技术实施例提供的一种电子设备的结构示意图,如图7所示,该设备可以包括:至少一个处理器701和与处理器通信连接的存储器702。
137.存储器702,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作/执行指令。
138.存储器702可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
139.处理器701用于执行存储器702存储的计算机可执行指令,以实现前述任意实施例
所描述的微服务应用的网络流量控制的方法。其中,处理器701可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
140.可选的,该电子设备还可以包括通信接口703。在具体实现上,如果通信接口703、存储器702、处理器701独立实现,则通信接口703、存储器702、处理器701可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
141.可选的,在具体实现上,如果通信接口703、存储器702、处理器701集成在一块芯片上实现,则通信接口703、存储器702、处理器701可以通过内部接口完成通信。
142.本实施例提供的电子设备,用于执行前述的微服务应用的网络流量控制方法,其实现原理与技术效果与方法实施例类似,对此不再赘述。
143.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁盘或者光盘等各种可以存储程序代码的介质,还可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。具体的,该计算机可读存储介质其上存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述的微服务应用的网络流量控制方法。
144.本技术还提供一种计算机程序产品,该程序产品包括计算机程序,该计算机程序存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该计算机程序,至少一个处理器执行该程序使得电子设备实施上述的各种实施方式提供的上述微服务应用的网络流量控制方法。
145.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机程序。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
146.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的
权利要求书指出。
147.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。

技术特征:
1.一种微服务应用的网络流量控制方法,其特征在于,包括:获取目标微服务应用的调用请求,所述调用请求中包括所述目标微服务应用的标识信息;根据所述调用请求,确定与所述标识信息对应的所述目标微服务应用当前的流量监控信息,所述流量监控信息包括日志信息及流量调用数据;若所述日志信息中包含限流关键字和/或所述流量调用数据超过预设流量阈值,则对所述目标微服务应用进行流量控制。2.根据权利要求1所述的方法,其特征在于,所述根据所述调用请求,确定与所述标识信息对应的所述目标微服务应用当前的流量监控信息,包括:根据所述标识信息,确定控制所述目标微服务应用的微服务网关;从所述微服务网关中获取与所述标识信息对应的所述目标微服务应用的路由数据,所述路由数据中包括有用于指示获取日志信息的第一路径信息,以及,用于指示获取流量调用数据的第二路径信息;根据所述第一路径信息,获取所述目标微服务应用的所述日志信息;根据所述第二路径信息,获取所述目标微服务应用的所述流量调用数据。3.根据权利要求1或2所述的方法,其特征在于,所述对所述目标微服务应用进行流量控制,包括:获取微服务网关的可承载流量数据以及所述微服务网关下除所述目标微服务应用之外的其他各微服务应用当前的流量调用数据;将所述其他各微服务应用当前的流量调用数据进行累加,得到所述其他各微服务应用当前的总流量调用数据;根据所述可承载流量数据、所述总流量调用数据及所述目标微服务应用的流量调用数据,对所述目标微服务应用进行流量控制。4.根据权利要求3所述的方法,其特征在于,所述根据所述可承载流量数据、所述总流量调用数据及所述目标微服务应用的流量调用数据,对所述目标微服务应用进行流量控制,包括:将所述总流量调用数据与所述目标微服务应用的流量调用数据进行相加处理,得到所述微服务网关当前的实际调用的流量数据;若所述实际调用的流量数据小于所述可承载流量数据,根据可承载流量数据中的剩余流量数据对所述目标微服务应用进行流量扩容处理。5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:若所述日志信息中包含限流关键字和/或所述流量调用数据超过预设流量阈值,则输出预警提示信息,所述预警提示信息用于提示用户所述目标微服务应用需进行流量控制;其中,所述预警提示信息中包括目标微服务的标识信息、名称信息、预警时间以及ip地址信息中的至少一个信息。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:响应于用户输入的扩容流量数据,对所述目标微服务应用进行流量扩容处理,所述扩容流量数据小于或等于所述可承载流量数据中的剩余流量数据。7.一种微服务应用的网络流量控制装置,其特征在于,包括:
获取模块,用于获取目标微服务应用的调用请求,所述调用请求中包括所述目标微服务应用的标识信息;确定模块,用于根据所述调用请求,确定与所述标识信息对应的所述目标微服务应用当前的流量监控信息,所述流量监控信息包括日志信息及流量调用数据;处理模块,用于若所述日志信息中包含限流关键字和/或所述流量调用数据超过预设流量阈值,则对所述目标微服务应用进行流量控制。8.根据权利要求7所述的装置,其特征在于,所述确定模块,具体用于:根据所述标识信息,确定控制所述目标微服务应用的微服务网关;从所述微服务网关中获取与所述标识信息对应的所述目标微服务应用的路由数据,所述路由数据中包括有用于指示获取日志信息的第一路径信息,以及,用于指示获取流量调用数据的第二路径信息;根据所述第一路径信息,获取所述目标微服务应用的所述日志信息;根据所述第二路径信息,获取所述目标微服务应用的所述流量调用数据。9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至6任一项所述的网络流量的控制方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的网络流量的控制方法。

技术总结
本申请提供一种微服务应用的网络流量控制方法、装置、设备及介质,可用于移动互联领域。该方法包括:获取目标微服务应用的调用请求,其中,调用请求中包括目标微服务应用的标识信息。并根据调用请求,确定与标识信息对应的目标微服务应用当前的流量监控信息,该流量监控信息包括日志信息及流量调用数据,若日志信息中包含限流关键字和/或流量调用数据超过预设流量阈值,则对目标微服务应用进行流量控制。本申请通过判断日志信息中是否包含限流关键字和/或流量调用数据是否超过预设流量阈值对目标微服务应用进行流量控制,提高了对目标微服务应用控制结果的准确性,提升了微服务应用运行的平稳性。用运行的平稳性。用运行的平稳性。


技术研发人员:李艳静 杨涛 王丹 李小平 杨硕 张煌辉 朱伟 刘昱辰 薛欣妹
受保护的技术使用者:中国银行股份有限公司
技术研发日:2023.05.26
技术公布日:2023/8/4
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐