微服务的请求响应方法、装置、设备及存储介质与流程

文档序号:26733948发布日期:2021-09-22 22:02阅读:111来源:国知局
微服务的请求响应方法、装置、设备及存储介质与流程

1.本发明涉及服务器监控领域,尤其涉及一种微服务的请求响应方法、装置、设备及存储介质。


背景技术:

2.随着互联网技术的发展,基于微服务架构的分布式系统被越来越广泛地应用于大型系统的开发中,基于微服务架构的系统通常将不同的微服务部署到不同的服务器中,以提高系统的访问效率和减少微服务之间的耦合度。
3.当微服务架构中的其中一个资源节点发生异常时,可能对其它的资源节点产生连带效应,造成整个系统瘫痪,进而为企业带来不可预估的损失。现有技术中,对微服务架构下的资源请求响应方式大多是对资源节点的每秒查询率和平均响应时间进行监控,从而得到请求响应结果,这种对资源请求的响应方式并不完善,缺乏了对资源响应能力的全面考量,使得资源的运行状态仍然难以预估,导致对请求响应资源的分配方式不够灵活,请求响应效率低。


技术实现要素:

4.本发明提供了一种微服务的请求响应方法、装置、设备及存储介质,用于提高资源的分配效率和请求的响应速度。
5.本发明第一方面提供了一种微服务的请求响应方法,包括:
6.接收微服务架构的资源调用请求,所述资源调用请求包括多个目标资源节点;
7.根据所述多个目标资源节点,获取所述资源调用请求对应的目标调用链路,所述目标调用链路包括各所述目标资源节点对应的节点数据;
8.根据各所述目标资源节点对应的节点数据,分别判断各所述目标资源节点是否满足预置资源访问条件,得到各所述目标资源节点中的正常资源节点和/或异常资源节点;
9.根据各所述目标资源节点中的正常资源节点和/或异常资源节点,按照所述预置资源访问条件对应的预置响应机制,对所述资源调用请求进行响应处理。
10.可选的,在本发明第一方面的第一种实现方式中,在所述接收微服务架构的资源调用请求,所述资源调用请求包括多个目标资源节点之前,所述微服务的请求响应方法还包括:
11.获取微服务架构的多个初始资源节点和所述多个初始资源节点的调用日志,所述多个初始资源节点包括各所述初始资源节点的对应节点数据和多个目标资源节点;
12.根据所述多个初始资源节点和所述多个初始资源节点的调用日志,生成多条初始调用链路,其中,所述多条初始调用链路包括目标调用链路;
13.根据各所述初始调用链路,分别对各所述初始资源节点进行流量阈值设置,并标识各所述初始资源节点中的热门资源节点。
14.可选的,在本发明第一方面的第二种实现方式中,所述根据各所述初始调用链路,
分别对各所述初始资源节点进行流量阈值设置,并标识各所述初始资源节点中的热门资源节点包括:
15.根据各所述初始调用链路,分别计算各所述初始资源节点的调用频率;
16.根据各所述初始资源节点的调用频率,分别对各所述初始资源节点进行流量阈值设置,并分别判断各所述初始资源节点的调用频率是否大于或等于预置频率阈值;
17.若各所述初始资源节点的调用频率大于或等于预置频率阈值,则将大于或等于预置频率预置的初始资源节点设置为热门资源节点。
18.可选的,在本发明第一方面的第三种实现方式中,所述根据各所述目标资源节点对应的节点数据,分别判断各所述目标资源节点是否满足预置资源访问条件,得到各所述目标资源节点中的正常资源节点和/或异常资源节点包括:
19.根据各所述目标资源节点对应的节点数据,分别判断各所述目标资源节点是否为热门资源节点;
20.若所述目标资源节点为热门资源节点,则判断所述目标资源节点是否同时满足预置资源访问条件,其中,所述预置资源访问条件包括:流量阈值小于预设流量阈值、并发线程数量小于预设并发线程数、响应级别大于预设响应级别、请求延时比率小于预设延时比率、每秒查询数量小于预设查询数量;
21.若所述目标资源节点同时满足预置资源访问条件,则将同时满足预置资源访问条件的目标资源节点设置为正常资源节点;
22.若所述目标资源节点不同时满足预置资源访问条件,则将不同时满足预置资源访问条件的目标资源节点设置为异常资源节点。
23.可选的,在本发明第一方面的第四种实现方式中,所述根据各所述目标资源节点中的正常资源节点和/或异常资源节点,按照所述预置资源访问条件对应的预置响应机制,对所述资源调用请求进行响应处理包括:
24.当各所述目标资源节点均为正常资源节点时,则接受所述资源调用请求的访问请求,并返回请求响应结果;
25.当各所述目标资源节点中存在异常资源节点,且当异常资源节点的并发线程数量大于预设并发线程数时,则拒绝所述资源调用请求的访问请求,并返回拒绝响应结果;
26.当各所述目标资源节点中存在异常资源节点,且当异常资源节点的流量阈值大于预设流量阈值时,则将所述资源调用请求推入预置请求队列,所述预置请求队列用于指示对所述资源调用请求进行排队处理;
27.当各所述目标资源节点中存在异常资源节点,且当异常资源节点的请求延时比率大于预设延时比率时,则拒绝所述资源调用请求的访问请求,并返回拒绝响应结果;
28.当各所述目标资源节点中存在异常资源节点,且当异常资源节点的每秒查询数量大于预设查询数量时,则将所述资源调用请求推入预置请求队列,所述预置请求队列用于指示对所述资源调用请求进行排队处理;
29.当各所述目标资源节点中存在异常资源节点,且当异常资源节点的响应级别小于预设响应级别时,则将所述资源调用请求推入预置请求队列,并对请求延时比率小于预设延时比率的异常资源节点进行响应降级处理,所述预置请求队列用于指示对所述资源调用请求进行排队处理。
30.可选的,在本发明第一方面的第五种实现方式中,在所述根据各所述目标资源节点中的正常资源节点和/或异常资源节点,按照所述预置资源访问条件对应的预置响应机制,对所述资源调用请求进行响应处理之后,所述微服务的请求响应方法还包括:
31.对所述异常资源节点的历史调用数据进行采集,得到资源调用记录,其中,所述历史调用数据包括所述异常资源节点在预置时段内的请求响应时长、请求延时时长、请求响应次数和请求拒绝次数;
32.按照预置监控指标算法,对所述资源调用记录中的历史调用数据进行监控指标计算,得到监控指标数据,并根据所述监控指标数据向终端发送预警消息。
33.本发明第二方面提供了一种微服务的请求响应装置,包括:
34.接收模块,用于接收微服务架构的资源调用请求,所述资源调用请求包括多个目标资源节点;
35.获取模块,用于根据所述多个目标资源节点,获取所述资源调用请求对应的目标调用链路,所述目标调用链路包括各所述目标资源节点对应的节点数据;
36.判断模块,用于根据各所述目标资源节点对应的节点数据,分别判断各所述目标资源节点是否满足预置资源访问条件,得到各所述目标资源节点中的正常资源节点和/或异常资源节点;
37.响应模块,用于根据各所述目标资源节点中的正常资源节点和/或异常资源节点,按照所述预置资源访问条件对应的预置响应机制,对所述资源调用请求进行响应处理。
38.可选的,在本发明第二方面的第一种实现方式中,所述微服务的请求响应装置还包括:
39.初始模块,用于获取微服务架构的多个初始资源节点和所述多个初始资源节点的调用日志,所述多个初始资源节点包括各所述初始资源节点的对应节点数据和多个目标资源节点;
40.生成模块,用于根据所述多个初始资源节点和所述多个初始资源节点的调用日志,生成多条初始调用链路,其中,所述多条初始调用链路包括目标调用链路;
41.设置模块,用于根据各所述初始调用链路,分别对各所述初始资源节点进行流量阈值设置,并标识各所述初始资源节点中的热门资源节点。
42.可选的,在本发明第二方面的第二种实现方式中,所述设置模块具体用于:
43.根据各所述初始调用链路,分别计算各所述初始资源节点的调用频率;
44.根据各所述初始资源节点的调用频率,分别对各所述初始资源节点进行流量阈值设置,并分别判断各所述初始资源节点的调用频率是否大于或等于预置频率阈值;
45.若各所述初始资源节点的调用频率大于或等于预置频率阈值,则将大于或等于预置频率预置的初始资源节点设置为热门资源节点。
46.可选的,在本发明第二方面的第三种实现方式中,所述判断模块具体用于:
47.根据各所述目标资源节点对应的节点数据,分别判断各所述目标资源节点是否为热门资源节点;
48.若所述目标资源节点为热门资源节点,则判断所述目标资源节点是否同时满足预置资源访问条件,其中,所述预置资源访问条件包括:流量阈值小于预设流量阈值、并发线程数量小于预设并发线程数、响应级别大于预设响应级别、请求延时比率小于预设延时比
率、每秒查询数量小于预设查询数量;
49.若所述目标资源节点同时满足预置资源访问条件,则将同时满足预置资源访问条件的目标资源节点设置为正常资源节点;
50.若所述目标资源节点不同时满足预置资源访问条件,则将不同时满足预置资源访问条件的目标资源节点设置为异常资源节点。
51.可选的,在本发明第二方面的第四种实现方式中,所述响应模块具体用于:
52.当各所述目标资源节点均为正常资源节点时,则接受所述资源调用请求的访问请求,并返回请求响应结果;
53.当各所述目标资源节点中存在异常资源节点,且当异常资源节点的并发线程数量大于预设并发线程数时,则拒绝所述资源调用请求的访问请求,并返回拒绝响应结果;
54.当各所述目标资源节点中存在异常资源节点,且当异常资源节点的流量阈值大于预设流量阈值时,则将所述资源调用请求推入预置请求队列,所述预置请求队列用于指示对所述资源调用请求进行排队处理;
55.当各所述目标资源节点中存在异常资源节点,且当异常资源节点的请求延时比率大于预设延时比率时,则拒绝所述资源调用请求的访问请求,并返回拒绝响应结果;
56.当各所述目标资源节点中存在异常资源节点,且当异常资源节点的每秒查询数量大于预设查询数量时,则将所述资源调用请求推入预置请求队列,所述预置请求队列用于指示对所述资源调用请求进行排队处理;
57.当各所述目标资源节点中存在异常资源节点,且当异常资源节点的响应级别小于预设响应级别时,则将所述资源调用请求推入预置请求队列,并对请求延时比率小于预设延时比率的异常资源节点进行响应降级处理,所述预置请求队列用于指示对所述资源调用请求进行排队处理。
58.可选的,在本发明第二方面的第五种实现方式中,所述微服务的请求响应装置还包括::
59.采集模块,用于对所述异常资源节点的历史调用数据进行采集,得到资源调用记录,其中,所述历史调用数据包括所述异常资源节点在预置时段内的请求响应时长、请求延时时长、请求响应次数和请求拒绝次数;
60.预警模块,用于按照预置监控指标算法,对所述资源调用记录中的历史调用数据进行监控指标计算,得到监控指标数据,并根据所述监控指标数据向终端发送预警消息。
61.本发明第三方面提供了一种微服务的请求响应设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述微服务的请求响应设备执行上述的微服务的请求响应方法。
62.本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的微服务的请求响应方法。
63.本发明提供的技术方案中,接收微服务架构的资源调用请求,所述资源调用请求包括多个目标资源节点;根据所述多个目标资源节点,获取所述资源调用请求对应的目标调用链路,所述目标调用链路包括各所述目标资源节点对应的节点数据;根据各所述目标资源节点对应的节点数据,分别判断各所述目标资源节点是否满足预置资源访问条件,得到各所述目标资源节点中的正常资源节点和/或异常资源节点;根据各所述目标资源节点
中的正常资源节点和/或异常资源节点,按照所述预置资源访问条件对应的预置响应机制,对所述资源调用请求进行响应处理。本发明实施例中,服务器首先获取资源调用请求中的目标调用链路,服务器通过对目标调用链路中的目标资源节点进行预置资源访问条件判断,从而确定目标资源节点是否为异常资源节点,进而确定资源调用请求的预置响应机制。本发明能够对资源节点的运行状态进行全面评估后对资源调用请求作出响应,从而提高资源的分配效率和请求的响应速度。
附图说明
64.图1为本发明实施例中微服务的请求响应方法的一个实施例示意图;
65.图2为本发明实施例中微服务的请求响应方法的另一个实施例示意图;
66.图3为本发明实施例中微服务的请求响应装置的一个实施例示意图;
67.图4为本发明实施例中微服务的请求响应装置的另一个实施例示意图;
68.图5为本发明实施例中微服务的请求响应设备的一个实施例示意图。
具体实施方式
69.本发明实施例提供了一种微服务的请求响应方法、装置、设备及存储介质,用于提高资源的分配效率和请求的响应速度。
70.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
71.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中微服务的请求响应方法的一个实施例包括:
72.101、接收微服务架构的资源调用请求,资源调用请求包括多个目标资源节点;
73.可以理解的是,本发明的执行主体可以为微服务的请求响应装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
74.本实施例中,微服务架构是一种用于构建应用的架构方案,可将应用拆分成多个核心功能,每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作或出现故障时不会相互影响。基于微服务架构的多个目标资源节点是可知的,且是有限数量的,多个目标资源节点可以是不同的微服务所部署的服务器,也可以是部署在同一服务器中的不同服务模块,在此不做具体限定,取决于具体的应用场景。
75.本实施例中,资源调用请求可以由微服务架构中任意一个微服务对应的目标资源节点发送,也可以由终端发送,资源调用请求包括多个目标资源节点,多个目标资源节点至少包括请求发送端和请求接收端,请求发送端和请求接收端可以为终端,也可以为服务器,具体不做限定。
76.102、根据多个目标资源节点,获取资源调用请求对应的目标调用链路,目标调用
链路包括各目标资源节点对应的节点数据;
77.本实施例中,基于微服务架构的资源调用请求往往需要涉及到多个微服务,而这些微服务可能分布在不同的目标资源节点,也就是分布在不同的服务器或者不同的服务模块,那么,由不同的目标资源节点构成的目标调用链路,记载了资源调用请求所涉及到的所有目标资源节点,而由于基于微服务架构的目标资源节点是可知的,且是有限数量的,因此,服务器根据当前的资源调用请求对应的目标资源节点,就能在预置的初始调用链路中获取到资源调用请求对应的目标调用链路,从而进行目标资源节点的分析和监测。
78.本实施例中,各目标资源节点对应的节点数据记载了各目标资源节点的历史调用信息,历史调用信息包括但不限于各目标资源节点的节点名称、各目标资源节点的节点标识符、各目标资源节点的节点ip地址、各目标资源节点的节点请求次数、各目标资源节点的请求发送端信息、各目标资源节点的节点响应次数和各目标资源节点的节点拒绝次数等等,请求发送端信息是指向各目标资源节点发送请求的发送端信息,例如一条目标调用链路m涉及到服务器a调用服务器b中的微服务,那么,这条目标调用链路m中的服务器b对应的目标资源节点的请求发送端信息就是服务器a对应的目标资源节点的信息。
79.103、根据各目标资源节点对应的节点数据,分别判断各目标资源节点是否满足预置资源访问条件,得到各目标资源节点中的正常资源节点和/或异常资源节点;
80.本实施例中,服务器根据目标调用链路中各目标资源节点对应的节点数据,就能对各目标资源节点对应的节点数据进行分析,并判断各目标资源节点是否出现异常,服务器从而确定正常资源节点和异常资源节点,进而确定资源调用请求的响应机制,服务器根据正常资源节点和异常资源节点的信息,设置不同的响应机制,使得请求的响应方式更灵活,且能够更有效地分配资源。
81.本实施例中,预置资源访问条件用于判断目标资源节点是否出现异常,而对于目标资源节点是否出现异常包括多种判断指标,例如延时比率、并发线程数和每秒查询量等,服务器根据预置资源访问条件,能够灵活地判断目标资源节点的运行状态,从而进行更有效的资源配置。
82.104、根据各目标资源节点中的正常资源节点和/或异常资源节点,按照预置资源访问条件对应的预置响应机制,对资源调用请求进行响应处理。
83.本实施例中,当不存在异常资源节点时,也就是所有目标资源节点均为正常资源节点时,则服务器接收资源调用请求,并返回资源调用结果,也就是资源调用请求的数据操作结果,从而完成本次的资源调用请求。其中,预置响应机制包括请求接受机制、请求拦截机制、请求排队机制和请求拒绝机制等。而当各目标资源节点中存在至少一个异常资源节点时,则服务器按照判定异常资源节点对应的资源访问条件对应的预置响应机制,对资源调用请求进行响应,例如,其中一条资源访问条件为并发线程数量小于预设并发线程数,而其中一个目标资源节点由于不满足该条资源访问条件而被判定为异常资源节点,那么,服务器则根据该条资源访问条件对应的预置响应机制对资源调用请求进行响应,假设该条资源访问条件对应的预置响应机制为请求拒绝机制,那么,服务器则直接拒绝资源调用请求,并返回拒绝调用结果。
84.本发明实施例中,服务器首先获取资源调用请求中的目标调用链路,服务器通过对目标调用链路中的目标资源节点进行预置资源访问条件判断,从而确定目标资源节点是
否为异常资源节点,进而确定资源调用请求的预置响应机制。本发明能够对资源节点的运行状态进行全面评估后对资源调用请求作出响应,从而提高资源的分配效率和请求的响应速度。
85.请参阅图2,本发明实施例中微服务的请求响应方法的另一个实施例包括:
86.201、获取微服务架构的多个初始资源节点和多个初始资源节点的调用日志,多个初始资源节点包括各初始资源节点的对应节点数据和多个目标资源节点;
87.本实施例中,服务器获取微服务架构在预置时段内的多个初始资源节点和多个初始资源节点的调用日志,用于服务器生成多条初始调用链路。服务器还可以通过预置的调用链路监控组件,对微服务架构的调用关系数据进行数据收集、存储、查找和展示,其中,调用链路监控组件包括分布式跟踪系统zipkin、应用性能管理工具pinpoint和分布式追踪系统skywalking,服务器通过调用链路监控组件,即能生成微服务架构的多条初始调用链路,使得服务器对调用链路的生成更高效。
88.202、根据多个初始资源节点和多个初始资源节点的调用日志,生成多条初始调用链路,其中,多条初始调用链路包括目标调用链路;
89.本实施例中,服务器获取预置的多个初始资源节点和各初始资源节点的调用日志,调用日志中记载了各初始资源节点的历史调用记录,服务器通过对调用日志进行数据提取和分析,即能生成多条初始调用链路,用于指示各初始资源节点之间的调用关系,并为后续的请求响应处理提供了数据基础。
90.203、根据各初始调用链路,分别对各初始资源节点进行流量阈值设置,并标识各初始资源节点中的热门资源节点;
91.本实施例中,服务器可以通过对各初始调用链路中各初始资源节点的对应节点数据进行数据分析,得到各初始资源节点的访问热度,从而对各初始资源节点的流量阈值进行智能设置,例如,服务器通过对各初始调用链路中各初始资源节点的对应节点数据进行数据分析,得到初始资源节点a的访问热度最高,那么,服务器则按照预置的流量阈值设置算法,将初始资源节点a的流量阈值控制在一定范围内,避免由于热度过高而造成的阻塞。
92.具体的,服务器根据各初始调用链路,分别计算各初始资源节点的调用频率;服务器根据各初始资源节点的调用频率,分别对各初始资源节点进行流量阈值设置,并分别判断各初始资源节点的调用频率是否大于或等于预置频率阈值;若各初始资源节点的调用频率大于或等于预置频率阈值,则服务器将大于或等于预置频率预置的初始资源节点设置为热门资源节点。
93.本实施例中,服务器通过计算各初始调用链路中的各初始资源节点的调用频率,来确定各初始资源节点的流量阈值,从而进行流量阈值的智能控制。例如,根据各初始调用链路,计算得到初始资源节点a的调用频率高达90%,也就是90%的资源调用请求需要调用初始资源节点a的服务,那么,服务器根据初始资源节点a的调用频率,通过预置流量阈值计算公式,将初始资源节点a的流量阈值设置为一个与调用频率匹配的值,从而对初始资源节点a的资源进行有效的分配,避免由于访问热度过高而造成阻塞。服务器还能将访问热度高于预置热度值的初始资源节点设置热门资源节点,用于后续的资源访问条件判断。
94.204、接收微服务架构的资源调用请求,资源调用请求包括多个目标资源节点;
95.该步骤204的执行过程与步骤101的执行过程相似,具体此处不再赘述。
96.205、根据多个目标资源节点,获取资源调用请求对应的目标调用链路,目标调用链路包括各目标资源节点对应的节点数据;
97.该步骤205的执行过程与步骤102的执行过程相似,具体此处不再赘述。
98.206、根据各目标资源节点对应的节点数据,分别判断各目标资源节点是否满足预置资源访问条件,得到各目标资源节点中的正常资源节点和/或异常资源节点;
99.具体的,服务器根据各目标资源节点对应的节点数据,分别判断各目标资源节点是否为热门资源节点;若目标资源节点为热门资源节点,则服务器判断目标资源节点是否同时满足预置资源访问条件,其中,预置资源访问条件包括:流量阈值小于预设流量阈值、并发线程数量小于预设并发线程数、响应级别大于预设响应级别、请求延时比率小于预设延时比率、每秒查询数量小于预设查询数量;若目标资源节点同时满足预置资源访问条件,则服务器将同时满足预置资源访问条件的目标资源节点设置为正常资源节点;若目标资源节点不同时满足预置资源访问条件,则服务器将不同时满足预置资源访问条件的目标资源节点设置为异常资源节点。
100.本实施例中,通常情况下,发生系统崩溃的原因集中在资源节点访问过热导致的,因此,服务器对节点资源的控制主要集中在热门资源节点上,当服务器从目标资源节点中识别到热门资源节点之后,服务器对为热门资源节点的目标资源节点进行多条件判断,服务器判断目标资源节点是否同时满足预置资源访问条件,只要目标资源节点不满足任意一条资源访问条件,则服务器按照该资源访问条件对应的预置响应机制,对资源调用请求进行响应,如拒绝请求或将资源调用请求推入预置请求队列。
101.本实施例中,热门资源节点更容易出现资源不稳定的情况,当某个热门资源节点出现资源不稳定的情况时,例如表现为响应时间变长,对热门资源节点的影响就是会造成线程数量的逐步堆积,使得并发线程数量增加,当并发线程数量堆积到一定数值之后,可能会导致整个系统的崩溃,因此,服务器对每个目标资源节点都设置一个预设并发线程数,用于对并发线程数量的阈值控制。
102.207、根据各目标资源节点中的正常资源节点和/或异常资源节点,按照预置资源访问条件对应的预置响应机制,对资源调用请求进行响应处理。
103.具体的,当各目标资源节点均为正常资源节点时,则服务器接受资源调用请求的访问请求,并返回请求响应结果;当各目标资源节点中存在异常资源节点,且异常资源节点的并发线程数量大于预设并发线程数时,则服务器拒绝资源调用请求的访问请求,并返回拒绝响应结果;当各目标资源节点中存在异常资源节点,且异常资源节点的流量阈值大于预设流量阈值时,则服务器将资源调用请求推入预置请求队列,预置请求队列用于指示对所述资源调用请求进行排队处理;当各目标资源节点中存在异常资源节点,且异常资源节点的请求延时比率大于预设延时比率时,则服务器拒绝资源调用请求的访问请求,并返回拒绝响应结果;当各目标资源节点中存在异常资源节点,且异常资源节点的每秒查询数量大于预设查询数量时,则服务器将资源调用请求推入预置请求队列,预置请求队列用于指示对资源调用请求进行排队处理;当各目标资源节点中存在异常资源节点,且异常资源节点的响应级别小于预设响应级别时,则服务器将资源调用请求推入预置请求队列,并对请求延时比率小于预设延时比率的异常资源节点进行响应降级处理,预置请求队列用于指示对资源调用请求进行排队处理。
104.本实施例中,不同的资源访问条件对应不同的预置响应机制,例如,当异常资源节点的并发线程数量大于预设并发线程数时,说明异常资源节点的预设并发线程数已经超过了警戒值,服务器再创建新的并发线程会造成更严重的后果,例如系统崩溃,那么,服务器则直接拒绝资源调用请求对该目标资源节点的访问请求,直到过了预置的时间窗之后,服务器才重新恢复对访问请求的接受,从而避免并线堆积而对系统造成的影响。
105.本实施例中,当存在至少一个目标资源节点为异常资源节点时,服务器可以将对该异常资源节点的资源调用请求转发到该异常资源节点对应的备用资源节点,备用资源节点具有与对应的异常资源节点相同的资源配置,能够完成相同的资源调用任务。备用资源节点能够使网络负载均衡,从而对网络流量进行有效的控制。
106.进一步的,在根据各目标资源节点中的正常资源节点和/或异常资源节点,按照预置资源访问条件对应的预置响应机制,对资源调用请求进行响应处理之后,微服务的请求响应方法还包括:服务器对异常资源节点的历史调用数据进行采集,得到资源调用记录,其中,历史调用数据包括异常资源节点在预置时段内的请求响应时长、请求延时时长、请求响应次数和请求拒绝次数;服务器按照预置监控指标算法,对资源调用记录中的历史调用数据进行监控指标计算,得到监控指标数据,并根据监控指标数据向终端发送预警消息。
107.本实施例中,监控指标包括平均请求响应时长、平均请求延时时长、请求响应总次数和请求拒绝总次数,服务器通过对异常资源节点的历史调用数据的采集,得到资源调用记录,从而计算监控指标,并根据监控指标向终端发送预警消息。例如,当服务器计算得到1分钟内异常资源节点a的平均请求响应时长大于预置预警指标,那么,服务器向运维人员发送预警消息,以提示运维人员进行节点维护工作。
108.本发明实施例中,服务器通过获取预置的初始资源节点,并对初始资源节点的节点数据进行分析,从而生成多条初始调用链路,再根据多条初始调用链路,对各初始资源节点进行流量阈值设置和热门资源标识,从而控制各初始资源节点的访问流量,使得资源分配更高效。
109.上面对本发明实施例中微服务的请求响应方法进行了描述,下面对本发明实施例中微服务的请求响应装置进行描述,请参阅图3,本发明实施例中微服务的请求响应装置一个实施例包括:
110.接收模块301,用于接收微服务架构的资源调用请求,所述资源调用请求包括多个目标资源节点;
111.获取模块302,用于根据所述多个目标资源节点,获取所述资源调用请求对应的目标调用链路,所述目标调用链路包括各所述目标资源节点对应的节点数据;
112.判断模块303,用于根据各所述目标资源节点对应的节点数据,分别判断各所述目标资源节点是否满足预置资源访问条件,得到各所述目标资源节点中的正常资源节点和/或异常资源节点;
113.响应模块304,用于根据各所述目标资源节点中的正常资源节点和/或异常资源节点,按照所述预置资源访问条件对应的预置响应机制,对所述资源调用请求进行响应处理。
114.本发明实施例中,服务器首先获取资源调用请求中的目标调用链路,服务器通过对目标调用链路中的目标资源节点进行预置资源访问条件判断,从而确定目标资源节点是否为异常资源节点,进而确定资源调用请求的预置响应机制。本发明能够对资源节点的运
行状态进行全面评估后对资源调用请求作出响应,从而提高资源的分配效率和请求的响应速度。
115.请参阅图4,本发明实施例中微服务的请求响应装置的另一个实施例包括:
116.接收模块301,用于接收微服务架构的资源调用请求,所述资源调用请求包括多个目标资源节点;
117.获取模块302,用于根据所述多个目标资源节点,获取所述资源调用请求对应的目标调用链路,所述目标调用链路包括各所述目标资源节点对应的节点数据;
118.判断模块303,用于根据各所述目标资源节点对应的节点数据,分别判断各所述目标资源节点是否满足预置资源访问条件,得到各所述目标资源节点中的正常资源节点和/或异常资源节点;
119.响应模块304,用于根据各所述目标资源节点中的正常资源节点和/或异常资源节点,按照所述预置资源访问条件对应的预置响应机制,对所述资源调用请求进行响应处理。
120.可选的,所述微服务的请求响应装置还包括:
121.初始模块305,用于获取微服务架构的多个初始资源节点和所述多个初始资源节点的调用日志,所述多个初始资源节点包括各所述初始资源节点的对应节点数据和多个目标资源节点;
122.生成模块306,用于根据所述多个初始资源节点和所述多个初始资源节点的调用日志,生成多条初始调用链路,其中,所述多条初始调用链路包括目标调用链路;
123.设置模块307,用于根据各所述初始调用链路,分别对各所述初始资源节点进行流量阈值设置,并标识各所述初始资源节点中的热门资源节点。
124.可选的,所述设置模块307具体用于:
125.根据各所述初始调用链路,分别计算各所述初始资源节点的调用频率;
126.根据各所述初始资源节点的调用频率,分别对各所述初始资源节点进行流量阈值设置,并分别判断各所述初始资源节点的调用频率是否大于或等于预置频率阈值;
127.若各所述初始资源节点的调用频率大于或等于预置频率阈值,则将大于或等于预置频率预置的初始资源节点设置为热门资源节点。
128.可选的,所述判断模块303具体用于:
129.根据各所述目标资源节点对应的节点数据,分别判断各所述目标资源节点是否为热门资源节点;
130.若所述目标资源节点为热门资源节点,则判断所述目标资源节点是否同时满足预置资源访问条件,其中,所述预置资源访问条件包括:流量阈值小于预设流量阈值、并发线程数量小于预设并发线程数、响应级别大于预设响应级别、请求延时比率小于预设延时比率、每秒查询数量小于预设查询数量;
131.若所述目标资源节点同时满足预置资源访问条件,则将同时满足预置资源访问条件的目标资源节点设置为正常资源节点;
132.若所述目标资源节点不同时满足预置资源访问条件,则将不同时满足预置资源访问条件的目标资源节点设置为异常资源节点。
133.可选的,所述响应模块304具体用于:
134.当各所述目标资源节点均为正常资源节点时,则接受所述资源调用请求的访问请
求,并返回请求响应结果;
135.当各所述目标资源节点中存在异常资源节点,且当所述异常资源节点的并发线程数量大于预设并发线程数时,则拒绝所述资源调用请求的访问请求,并返回拒绝响应结果;
136.当各所述目标资源节点中存在异常资源节点,且当所述异常资源节点的流量阈值大于预设流量阈值时,则将所述资源调用请求推入预置请求队列,所述预置请求队列用于指示对所述资源调用请求进行排队处理;
137.当各所述目标资源节点中存在异常资源节点,且当所述异常资源节点的请求延时比率大于预设延时比率时,则拒绝所述资源调用请求的访问请求,并返回拒绝响应结果;
138.当各所述目标资源节点中存在异常资源节点,且当所述异常资源节点的每秒查询数量大于预设查询数量时,则将所述资源调用请求推入预置请求队列;
139.当各所述目标资源节点中存在异常资源节点,且当所述异常资源节点的响应级别小于预设响应级别时,则将所述资源调用请求推入预置请求队列,并对请求延时比率小于预设延时比率的异常资源节点进行响应降级处理。
140.可选的,所述微服务的请求响应装置还包括::
141.采集模块308,用于对所述异常资源节点的历史调用数据进行采集,得到资源调用记录,其中,所述历史调用数据包括所述异常资源节点在预置时段内的请求响应时长、请求延时时长、请求响应次数和请求拒绝次数;
142.预警模块309,用于按照预置监控指标算法,对所述资源调用记录中的历史调用数据进行监控指标计算,得到监控指标数据,并根据所述监控指标数据向终端发送预警消息。
143.本发明实施例中,服务器通过获取预置的初始资源节点,并对初始资源节点的节点数据进行分析,从而生成多条初始调用链路,再根据多条初始调用链路,对各初始资源节点进行流量阈值设置和热门资源标识,从而控制各初始资源节点的访问流量,使得资源分配更高效。
144.上面图3和图4从模块化功能实体的角度对本发明实施例中的微服务的请求响应装置进行详细描述,下面从硬件处理的角度对本发明实施例中微服务的请求响应设备进行详细描述。
145.图5是本发明实施例提供的一种微服务的请求响应设备的结构示意图,该微服务的请求响应设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对微服务的请求响应设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在微服务的请求响应设备500上执行存储介质530中的一系列指令操作。
146.微服务的请求响应设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如windows serve,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图5示出的微服务的请求响应设备结构并不构成对微服务的请求响应设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
147.本发明还提供一种微服务的请求响应设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述微服务的请求响应方法的步骤。本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述微服务的请求响应方法的步骤。
148.进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
149.本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
150.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
151.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
152.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1