负载均衡的服务进程健康度监听方法及装置与流程

未命名 08-01 阅读:297 评论:0


1.本技术涉及服务进程监听技术领域,具体涉及一种负载均衡的服务进程健康度监听方法及装置。


背景技术:

2.在现代化的it应用架构中,为了提供应用服务高吞吐性和高可用性,一般都通过跨机房跨服务器的分布式集群提供服务。而不论是web服务、应用服务、微服务、云平台,虽然各类服务都可能有其内部的进程管理与负载机制,但考虑跨服务、跨平台的通用监听模式上进行统一的监听管理,那么就依赖于它们都是通过开启指定tcp端口进程的基础实现方式,所以对这些服务进程的监控是最直接、最有效了解it应用整体状态的手段。it监控经过很多年的发展,对于普通服务进程的启停状态,对外端口的up/down状态都有完善的监控方案,同时负载均衡本身通过配置一些基本的健康检查、心跳发送的页面,也能够发现服务进程是否能够提供基本的http响应。
3.相关技术中,对负载均衡的服务进程的监听,可通过传统的远程tcp端口的定时连接测试,同时通过远程ssh连接后执行ps-ef命令去获取指定进程的状态,然后结合网络端口状态和进行状态,对非正常状态进行告警。
4.然而,上述方式抛开了服务进程对外服务的目的,只从服务进程的属性进行异常监控,只能监听端口是否存活、对应端口是否存在大量time_wait的tcp连接等表象,无法监控进程在应用层面的服务状态,包括假死状态,导致无法准确地发现健康度异常的服务进程。


技术实现要素:

5.本技术提供一种负载均衡的服务进程健康度监听方法及装置,能够提高服务进程的异常状态发现的准确性。
6.第一方面,本技术提供一种负载均衡的服务进程健康度监听方法,包括:
7.将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理,获取服务进程的合并数据包;
8.根据所述合并数据包中的请求数据包和响应数据包,确定分布式集群中任一所述服务进程在预设统计周期内的请求响应比;
9.将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度。
10.进一步的,在将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理之前,还包括:
11.根据预设元组对采集到的各tcp网络数据包进行分类,确定各tcp网络数据包所属的服务进程。
12.进一步的,所述预设元组包括由服务进程的ip地址和服务端口组成的二元组;
13.所述根据预设元组对采集到的服务进程的各tcp网络数据包进行分类,确定各tcp网络数据包所属的服务进程,包括:
14.根据所述二元组对采集到的服务进程的各tcp网络数据包进行分类,将所述ip地址和所述服务端口相同的各所述tcp网络数据包划分为同一服务进程。
15.进一步的,在根据所述二元组对采集到的服务进程的各tcp网络数据包进行分类之前,还包括:
16.根据所述tcp网络数据包的包头,获取所述tcp网络数据包对应的所述ip地址和所述服务端口。
17.进一步的,所述预设区间包括第一预设区间;
18.所述第一预设区间由同一所述服务进程在多个所述预设统计周期内的历史请求响应比的平均值和标准差确定。
19.进一步的,所述预设区间还包括第二预设区间;
20.所述第二预设区间由各所述服务进程在同一所述预设统计周期内的历史请求响应比的平均值和标准差确定。
21.进一步的,所述将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度,包括:
22.将所述请求响应比与所述第一预设区间和所述第二预设区间进行匹配,并当所述请求响应比未同时处于所述第一预设区间和所述第二预设区间内时,将所述请求响应比对应的服务进程判定为异常。
23.第二方面,本技术提供一种负载均衡的服务进程健康度监听装置,包括:
24.数据包获取模块,用于将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理,获取服务进程的合并数据包;
25.相应比确定模块,用于根据所述合并数据包中的请求数据包和响应数据包,确定分布式集群中任一所述服务进程在预设统计周期内的请求响应比;
26.健康度监听模块,用于将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度。
27.第三方面,本技术提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述的负载均衡的服务进程健康度监听方法的步骤。
28.第四方面,本技术提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面所述的负载均衡的服务进程健康度监听方法的步骤。
29.本技术提供的负载均衡的服务进程健康度监听方法及装置,通过获取服务进程对应的合并数据包中请求数据包和响应数据包在预设统计周期内的请求响应比,并将利用请求响应比与预设区间的匹配结果来确定服务进程的健康度,从而通过关注负载均衡的服务进程的tcp网络数据包的输入输出,来独立判断服务进程当前的服务能力,使在对服务进程的健康度进行监听时,利用健康度正常情况下,服务进程的在应用层面的行为,即输入输出具有一致性的特点,直接对服务进程进行tcp监听,进而能够监控进程在应用层面的服务状态,包括判断最难发现的进程假死状态,提高服务进程的异常状态发现的准确性。
附图说明
30.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1是本发明实施例提供的负载均衡的服务进程健康度监听方法的流程示意图;
32.图2是本发明提供的负载均衡的服务进程健康度监听装置的结构示意图;
33.图3是本发明提供的电子设备的结构示意图。
具体实施方式
34.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
35.为了更好地理解方案,对本发明实施例涉及的专业术语进行解释。
36.负载均衡监听:涉及监听协议和监听端口、监听策略。负载均衡的监听端口,亦被称为前端端口,用来接收请求并向后端服务器转发请求的端口。监听策略如均衡策略、会话保持、监听健康度检查等。
37.负载均衡监听协议:目前主流可以监听负载均衡实例上的四层和七层请求,并将这些请求分发到后端服务器上,而后由后端服务器处理请求。四层和七层负载均衡的区别主要体现在:对用户请求进行负载均衡时,是依据四层协议还是七层协议来进行转发流量。本技术实施例提及的监听可以是面向四层协议中的tcp协议进行监听,即针对tcp网络的服务进程的健康度监听。
38.假死连接状态:是指端口监听正常,可以建立tcp连接,进程存在且状态正常,但已经无法提供全部或部分业务服务。具体造成的原因可以参考tcp/ip断开连接fin过程,如果不做任何处理,长时间运行后,会面临大量假死连接得不到正常释放,然后服务器越来越慢,io处理效率越来越低。
39.下面结合附图对本技术实施例进行详细的阐述。
40.参照图1,是本实施例提供的一种负载均衡的服务进程健康度监听方法的流程示意图之一,该方法应用于服务器或其他监听设备中,用于监听分布式集群中任一服务器的负载均衡服务进程的健康度。如图1所示,本实施例提供的一种负载均衡的服务进程健康度监听方法包括:
41.步骤101,将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理,获取服务进程的合并数据包;
42.步骤102,根据所述合并数据包中的请求数据包和响应数据包,确定分布式集群中任一所述服务进程在预设统计周期内的请求响应比;
43.步骤103,将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度。
44.通过获取服务进程对应的合并数据包中请求数据包和响应数据包在预设统计周
期内的请求响应比,并将利用请求响应比与预设区间的匹配结果来确定服务进程的健康度,从而通过关注负载均衡的服务进程的tcp网络数据包的输入输出,来独立判断服务进程当前的服务能力,使在对服务进程的健康度进行监听时,利用健康度正常情况下,服务进程的在应用层面的行为,即输入输出具有一致性的特点,直接对服务进程进行tcp监听,进而能够监控进程在应用层面的服务状态,包括判断最难发现的进程假死状态,提高服务进程的异常状态发现的准确性。
45.此外,跳出了通过服务进程程序记录或者反馈的状态的方法,也跳出了服务进程在操作系统和网络连接上体现出来的状态,而是独立并且直接的通过集群服务进程本身在服务过程中的网络数据着手,无需针对服务进程进行任何改造,从而带来了独立客观的监听判断优势。
46.在一实施例中,分布式集群中的各个负载均衡服务进程的服务器或者软负载服务器中安装有tcp监听服务,通过tcp监听服务接入linux内核tcp/ip栈,获取所有外部服务器访问本机,以及本机访问其他外部服务器的所有tcp网络数据包。其中,网络数据包获取的方式是旁路的方式,不影响本机服务进程正常的网络通讯服务。所有数据包是实时采集的,和服务进程获取的正常业务包通讯时间同步。通过linux内核的tcp/ip栈获取的数据包是已经对当前虚拟网、sdn网络、vlan等协议进行了还原后的包,可以透明的对待各种基础网络传输协议
47.在获取到所有tcp网络数据包后,将获取到的任一预设统计周期内的每一个数据包针对负载均衡进程ip和端口的tcp网络数据包大小统计,然后对同一预设统计周期的同一服务进程的tcp网络数据包进行合并处理。
48.在一实施例中,为有效地获取同一服务进程的tcp网络数据包进行合并处理,在将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理之前,还包括:
49.根据预设元组对采集到的各tcp网络数据包进行分类,确定各tcp网络数据包所属的服务进程。
50.在一实施例中,针对一个负载均衡的服务进程,就有固定的ip和端口,同时会存在调用该进程的客户端程序,比如浏览器。每一个客户端程序会对应一个ip地址,并且一般同一个ip地址为了并发处理数据会随机启用多个tcp客户端端口(理论上0~65535,实际随机端口一般在10000~65535范围内)。此时要获取确定各tcp网络数据包所属的服务进程,则需要按照tcp连接的要求,针对四元组(包括客户端ip、端口,服务器ip、端口)或者五元组(在四元组的基础上增加vlan端口)进行tcp连接配对,以对各tcp网络数据包进行分类,确定各tcp网络数据包所属的服务进程。
51.考虑到调用服务进程的客户端程序可能较多,采用四元组和五元组对tcp网络数据包进行分类时,会大大增加数据处理难度,同时降低了处理的性能。而申请实施例后序进行服务进程的健康度监听时,只需要针对以负载均衡进程角度的输入数据(即请求数据)和输出数据(响应)数据来对健康度进行判定,因此在一实施例中,所述预设元组包括由服务进程的ip地址和服务端口组成的二元组;
52.所述根据预设元组对采集到的服务进程的各tcp网络数据包进行分类,确定各tcp网络数据包所属的服务进程,包括:
53.根据所述二元组对采集到的服务进程的各tcp网络数据包进行分类,将所述ip地
址和所述服务端口相同的各所述tcp网络数据包划分为同一服务进程。
54.在获取到tcp网络数据包后,可直接通过由服务进程的ip地址和服务端口组成的二元组,对tcp网络数据包进行分类,将ip地址和服务端口相同的各tcp网络数据包划分为同一服务进程,不需要关注客户端的ip和端口。使得将每个tcp网络数据包按照二元组降维之后,大量客户端调用相同服务进程时,除了包大小不同,其他ip和端口都会相同,从而可更快地确定各tcp网络数据包所属的服务进程,降低数据处理的难度。
55.在一实施例中,为方便确定tcp网络数据包对应的ip地址和服务端口,在一实施例中,在根据所述二元组对采集到的服务进程的各tcp网络数据包进行分类之前,还包括:
56.根据所述tcp网络数据包的包头,获取所述tcp网络数据包对应的所述ip地址和所述服务端口。
57.在一实施例中,针对获取的每一个tcp数据包,根据tcp/ip协议,tcp数据包中会包含服务进程,即分布式集群中生成该服务进程的服务器的ip地址和服务端口,从而可从tcp数据包的包头中获取tcp网络数据包对应的ip地址和服务端口。
58.在获取tcp网络数据包对应的ip地址和服务端口后,即可根据ip地址和服务端口,将相同ip地址和服务端口的tcp网络数据包划分为同一类。其中,分类和记录的数据格式和示例如下:
[0059][0060]
其中源(响应数据包)还是目标(请求数据包)是根据所在tcp和ip协议头中确定,包大小直接记录tcp的data部分长度,无需关注具体更上层的协议。
[0061]
在对各tcp网络数据包进行分类后,即可将任一预设统计周期内同一服务进程,即相同ip和端口的tcp网络数据包进行合并处理。其中,预设统计周期确定的依据依赖于2个因素:1)服务进程的调用量;2)预期获取监控结果的时延。理论上从1秒开始,到数分钟都可以作为统计周期。考虑到大数定律,统计越长其统计的数据越趋近常数,但告警时延越长;反之统计周期越短可能出现波动。根据实际数据,5秒~5分钟都是常见的统计周期。最后处理的结果示例如下:
[0062][0063]
从服务器角度看,在对应服务器端口作为目标包时,因为请求的流量,反之是响应
的流量。此时目标包大小即为合并数据包中的请求数据包的大小,源包大小即为合并数据包中的响应数据包的大小。此时,将请求数据包的求和大小/响应数据包的求和大小就等于请求响应比。同时记录求和周期的开始和结束时间,从而得到该服务进程在预设统计周期内的请求响应比。
[0064]
由于在健康度正常情况下,同一个服务进程在持续服务过程中,其服务行为模式一致;同一集群下不同服务进程在同一统计周期内,其服务行为模式一致。因此在一实施例中,使用服务进程的请求响应比健康度指标作为服务行为模式的量化指标,将请求响应比与预设区间进行匹配。若请求响应比在预设区间内,则判定请求响应比对应的服务进程在预设统计周期内正常;否则,判定请求响应比对应的服务进程在预设统计周期内异常。
[0065]
在一实施例中,所述预设区间包括第一预设区间;
[0066]
所述第一预设区间由同一所述服务进程在多个所述预设统计周期内的历史请求响应比的平均值和标准差确定。
[0067]
在一实施例中,为使监听结果更为准确,可先获取同一服务进程在多个预设统计周期内的历史请求响应比。其中,部分周期的请求响应比可如下所示:
[0068][0069]
示例中总共是一个服务器的服务进程中8个服务端口一天24小时,每5分钟采样的历史请求响应比。
[0070]
然后,分别针对每一个端口计算请求响应比的平均值,具体公式如下:
[0071][0072]
再基于请求响应比平均值计算标准差,具体公式如下:
[0073]
请求响应比标准差
[0074]
在统计学中,标准差表示了某个变量的波动程度,针对请求响应比指标,根据一段正常服务时间的计算,可以明确请求响应比正常值的上下限,即使用其中n根据规则配置,也可以根据一段时间的数据计算,由程序给出建议的默认值。得到n以后,实际上就已经确定了后续的任何请求响应比都应该在之间,否则就是异常值。
[0075]
通过对单一服务进程的请求响应比在时间序列中的均值和标准差计算,确定第一预设区间后,即可通过检测获取到的请求响应比是否位于第一预设区间内,来判断预设统计周期内的服务进程,其服务行为模式是否与该服务进程在持续服务过程中的行为模式一致,从而判定请求响应比对应的服务进程的健康度。其中,若请求响应比位于第一预设区间内,则预设统计周期内的服务进程,其服务行为模式与该服务进程在持续服务过程中的行为模式一致,此时判定该服务进程在预设统计周期内正常;否则,判定该服务进程在预设统计周期内异常。
[0076]
在一实施例中,所述预设区间还包括第二预设区间;
[0077]
所述第二预设区间由各所述服务进程在同一所述预设统计周期内的历史请求响应比的平均值和标准差确定。
[0078]
在一实施例中,还可计算各服务进程在同一预设统计周期内的历史请求响应比的平均值以及对应的标准差,形成第二预设区间。如假设存在8个端口,则所有8个端口一天的请求响应比波动的均值以及标准差结果如下:
[0079][0080]
根据设定的n=4,再计算计算出来的区间即表示所有负载均衡的进程请求响应比指标都应该在此区间内,即行为的一致性。异常值即为服务进程健康度异常情况。根据实现数据情况,进程假死等健康度异常都会出现请求响应比超过正常区间值。
[0081]
根据配置的8个端口属于同一集群,整个集群的均值为2.055,标准差σ为0.0277,所以形成第二预设区间[1.944,2.166]。
[0082]
然后通过检测获取到的请求响应比是否位于第二预设区间内,来判断预设统计周
期内的服务进程,其服务行为模式是否与同一分布式集群下的其他服务进程在该预设统计周期内的服务行为模式一致,从而判定请求响应比对应的服务进程的健康度。其中,若请求响应比位于第二预设区间内,则预设统计周期内的服务进程,其服务行为模式与同一分布式集群下的其他服务进程在该预设统计周期内的服务行为模式一致,此时判定该服务进程在预设统计周期内正常;否则,判定该服务进程在预设统计周期内异常。
[0083]
示例性的,预设统计周期内的第二预设区间为[1.944,2.166],检测到各端口在预设统计周期内的请求响应比如下表所示:
[0084][0085]
根据不同类型的服务进程的进行判断,不论忙时闲时和进程服务类型,请求响应比指标都具有极高的指标稳定性。上表测算示例数据中所有的指标都落在中,只有8002有一个异常点突破了边界。该异常点是该端口服务异常并进行了重启操作。经过实际数据的测算,该指标具有拟合度极高的特性。
[0086]
在一实施例中,在获取分布式集群中各服务进程的均值和方差时,还可将不同服务进程的均值和方差持续进行持久化记录到本地文件,作为各种服务进程的特征值,这样在重启对分布式集群中各服务进程的监听时也能快速载入初始特征值。
[0087]
考虑到针对单一监听服务对象和单一阈值进行服务进程的健康度判断时,其判断可能存在片面性,比如忙闲时不同、服务进程功能不同等,此时可能会导致异常判断出现错误。为此,在一实施例中,所述将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度,包括:
[0088]
将所述请求响应比与所述第一预设区间和所述第二预设区间进行匹配,并当所述请求响应比未同时处于所述第一预设区间和所述第二预设区间内时,将所述请求响应比对应的服务进程判定为异常。
[0089]
在一实施例中,在获取到第一预设区间和第二预设区间后,由于集群内服务功能相同,且通过负载均衡实现,所以同一时间周期内,集群服务进程的特征指标保持一致,可以作为横向对比的基准,同时单一服务进程的请求响应比指标,可以作为纵向比对的基准。因此将请求响应比分别与第一预设区间和第二预设区间进行比对,实现对请求响应比指标的健康度异常的交叉监听,从而能够获取到一个准确稳定、不受忙闲时等因素的干扰的判断依据,避免单一指标或者单一监控对象导致的误判,进一步保障了服务进程异常状态发
现的准确性。在一实施例中,当根据预设区间判断请求响应比对应的服务进程的健康度正常时,将该请求响应比添加至历史请求响应比中,以更新预设区间;当根据预设区间判断请求响应比对应的服务进程的健康度异常时,向监控终端发送对应的告警数据,同时从计算预设区间的历史请求响应比中剔除该请求响应比,避免预设区间不够准确导致对服务进程的健康度监听结果出错。其中,告警数据包括异常的服务进程的服务器ip地址和端口,实现快速精准的故障定位,缩短异常恢复时间。
[0090]
下面对本发明提供的负载均衡的服务进程健康度监听装置进行描述,下文描述的负载均衡的服务进程健康度监听装置与上文描述的负载均衡的服务进程健康度监听方法可相互对应参照。
[0091]
在一实施例中,如图2所示,提供了一种负载均衡的服务进程健康度监听装置,包括:
[0092]
数据包获取模块210,用于将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理,获取服务进程的合并数据包;
[0093]
相应比确定模块220,用于根据所述合并数据包中的请求数据包和响应数据包,确定分布式集群中任一所述服务进程在预设统计周期内的请求响应比;
[0094]
健康度监听模块230,用于将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度。
[0095]
通过获取服务进程对应的合并数据包中请求数据包和响应数据包在预设统计周期内的请求响应比,并将利用请求响应比与预设区间的匹配结果来确定服务进程的健康度,从而通过关注负载均衡的服务进程的tcp网络数据包的输入输出,来独立判断服务进程当前的服务能力,使在对服务进程的健康度进行监听时,利用健康度正常情况下,服务进程的在应用层面的行为,即输入输出具有一致性的特点,直接对服务进程进行tcp监听,进而能够监控进程在应用层面的服务状态,包括判断最难发现的进程假死状态,提高服务进程的异常状态发现的准确性。
[0096]
在一实施例中,数据包获取模块210还用于:
[0097]
根据预设元组对采集到的各tcp网络数据包进行分类,确定各tcp网络数据包所属的服务进程。
[0098]
在一实施例中,所述预设元组包括由服务进程的ip地址和服务端口组成的二元组;数据包获取模块210具体用于:
[0099]
根据所述二元组对采集到的服务进程的各tcp网络数据包进行分类,将所述ip地址和所述服务端口相同的各所述tcp网络数据包划分为同一服务进程。
[0100]
在一实施例中,数据包获取模块210还用于:
[0101]
根据所述tcp网络数据包的包头,获取所述tcp网络数据包对应的所述ip地址和所述服务端口。
[0102]
在一实施例中,所述预设区间包括第一预设区间;
[0103]
所述第一预设区间由同一所述服务进程在多个所述预设统计周期内的历史请求响应比的平均值和标准差确定。
[0104]
在一实施例中,所述预设区间还包括第二预设区间;
[0105]
所述第二预设区间由各所述服务进程在同一所述预设统计周期内的历史请求响
应比的平均值和标准差确定。
[0106]
在一实施例中,健康度监听模块230具体用于:
[0107]
将所述请求响应比与所述第一预设区间和所述第二预设区间进行匹配,并当所述请求响应比未同时处于所述第一预设区间和所述第二预设区间内时,将所述请求响应比对应的服务进程判定为异常。
[0108]
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)810、通信接口(communication interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的计算机程序,以执行负载均衡的服务进程健康度监听方法的步骤,例如包括:
[0109]
将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理,获取服务进程的合并数据包;
[0110]
根据所述合并数据包中的请求数据包和响应数据包,确定分布式集群中任一所述服务进程在预设统计周期内的请求响应比;
[0111]
将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度。
[0112]
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0113]
另一方面,本技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的负载均衡的服务进程健康度监听方法的步骤,例如包括:
[0114]
将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理,获取服务进程的合并数据包;
[0115]
根据所述合并数据包中的请求数据包和响应数据包,确定分布式集群中任一所述服务进程在预设统计周期内的请求响应比;
[0116]
将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度。
[0117]
另一方面,本技术实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行上述各实施例提供的方法的步骤,例如包括:
[0118]
将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理,获取服务进程的合并数据包;
[0119]
根据所述合并数据包中的请求数据包和响应数据包,确定分布式集群中任一所述服务进程在预设统计周期内的请求响应比;
[0120]
将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度。
[0121]
所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等。
[0122]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0123]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0124]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。

技术特征:
1.一种负载均衡的服务进程健康度监听方法,其特征在于,包括:将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理,获取服务进程的合并数据包;根据所述合并数据包中的请求数据包和响应数据包,确定分布式集群中任一所述服务进程在预设统计周期内的请求响应比;将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度。2.根据权利要求1所述的负载均衡的服务进程健康度监听方法,其特征在于,在将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理之前,还包括:根据预设元组对采集到的各tcp网络数据包进行分类,确定各tcp网络数据包所属的服务进程。3.根据权利要求2所述的负载均衡的服务进程健康度监听方法,其特征在于,所述预设元组包括由服务进程的ip地址和服务端口组成的二元组;所述根据预设元组对采集到的服务进程的各tcp网络数据包进行分类,确定各tcp网络数据包所属的服务进程,包括:根据所述二元组对采集到的服务进程的各tcp网络数据包进行分类,将所述ip地址和所述服务端口相同的各所述tcp网络数据包划分为同一服务进程。4.根据权利要求3所述的负载均衡的服务进程健康度监听方法,其特征在于,在根据所述二元组对采集到的服务进程的各tcp网络数据包进行分类之前,还包括:根据所述tcp网络数据包的包头,获取所述tcp网络数据包对应的所述ip地址和所述服务端口。5.根据权利要求1-4任意一项所述的负载均衡的服务进程健康度监听方法,其特征在于,所述预设区间包括第一预设区间;所述第一预设区间由同一所述服务进程在多个所述预设统计周期内的历史请求响应比的平均值和标准差确定。6.根据权利要求5所述的负载均衡的服务进程健康度监听方法,其特征在于,所述预设区间还包括第二预设区间;所述第二预设区间由各所述服务进程在同一所述预设统计周期内的历史请求响应比的平均值和标准差确定。7.根据权利要求6所述的负载均衡的服务进程健康度监听方法,其特征在于,所述将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度,包括:将所述请求响应比与所述第一预设区间和所述第二预设区间进行匹配,并当所述请求响应比未同时处于所述第一预设区间和所述第二预设区间内时,将所述请求响应比对应的服务进程判定为异常。8.一种负载均衡的服务进程健康度监听装置,其特征在于,包括:数据包获取模块,用于将任一预设统计周期内服务进程相同的tcp网络数据包进行合并处理,获取服务进程的合并数据包;相应比确定模块,用于根据所述合并数据包中的请求数据包和响应数据包,确定分布式集群中任一所述服务进程在预设统计周期内的请求响应比;
健康度监听模块,用于将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度。9.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的负载均衡的服务进程健康度监听方法的步骤。10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的负载均衡的服务进程健康度监听方法的步骤。

技术总结
本申请提供一种负载均衡的服务进程健康度监听方法及装置。所述方法包括:将任一预设统计周期内服务进程相同的TCP网络数据包进行合并处理,获取服务进程的合并数据包;根据所述合并数据包中的请求数据包和响应数据包,确定分布式集群中任一所述服务进程在预设统计周期内的请求响应比;将所述请求响应比与预设区间进行匹配,确定所述请求响应比对应的服务进程的健康度。本申请实施例提供的负载均衡的服务进程健康度监听方法能够提高服务进程的异常状态发现的准确性。异常状态发现的准确性。异常状态发现的准确性。


技术研发人员:段德峰 谢军 马维晶 刘虹 王璐 黄丽云 万宇涛 蒙琳 胡建村 张晓培 张丽萍
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2022.01.19
技术公布日:2023/7/31
版权声明

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

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

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

相关推荐