一种负载均衡方法、装置及存储介质制造方法及图纸

技术编号:24717386 阅读:28 留言:0更新日期:2020-07-01 00:40
本公开涉及一种负载均衡方法、装置及存储介质,其中,该方法包括:根据服务实例列表中各服务实例的等待时间及响应时间,确定目标服务实例,其中,服务实例的等待时间包括该服务实例距离上一次接收服务请求的时间间隔,服务实例的响应时间包括该服务实例从开始处理服务请求到该服务请求处理结束的时间;将当前接收到的服务请求下发至目标服务实例。本公开中,响应时间反应了服务实例在包括自身能力和网络波动等综合因素影响下的实际处理能力,等待时间反应了服务实例的空闲情况;将等待时间和响应时间作为选择目标服务实例的依据,从而保证了服务请求分发的稳定性、均衡性,提高了分发效率。

【技术实现步骤摘要】
一种负载均衡方法、装置及存储介质
本公开涉及计算机
,尤其涉及一种负载均衡方法、装置及存储介质。
技术介绍
在微服务技术体系中,通过负载均衡来实现系统的高可用性,集群扩容等功能。相关技术中,采用随机或轮询等方式实现负载均衡,然而,由于各服务实例的处理能力不同以及网络状况的波动,导致现有负载均衡方式服务请求分发的效率低、稳定性差。
技术实现思路
有鉴于此,本公开提出了一种负载均衡方法、装置及存储介质。根据本公开的一方面,提供了一种负载均衡方法,所述方法包括:根据服务实例列表中各服务实例的等待时间及响应时间,确定目标服务实例,其中,服务实例的等待时间包括该服务实例距离上一次接收服务请求的时间间隔,服务实例的响应时间包括该服务实例从开始处理服务请求到该服务请求处理结束的时间;将当前接收到的服务请求下发至所述目标服务实例。在一种可能的实现方式中,所述根据服务实例列表中各服务实例的等待时间及响应时间,确定目标服务实例,包括:根据各服务实例处理最近预设次数的服务请求的响应时间,以及各服务实例的等待时间,确定目标服务实例。在一种可能的实现方式中,所述根据服务实例列表中各服务实例的等待时间及响应时间,确定目标服务实例,包括:根据服务实例的等待时间及响应时间,确定服务实例对应的响应比;选取服务实例列表中响应比最大的服务实例,作为目标服务实例;其中,所述响应比与所述响应时间成负相关,与所述等待时间成正相关。在一种可能的实现方式中,所述根据服务实例的等待时间及响应时间,确定对应的响应比,包括:根据服务实例在处理最近预设次数的服务请求的响应时间之和,得到第一时间;根据服务实例列表中各服务实例的第一时间之和,得到第二时间;根据所述服务实例的等待时间及所述第二时间之和,得到第三时间;通过求取所述第三时间与所述第一时间的比值,确定所述响应比。在一种可能的实现方式中,所述选取服务实例列表中响应比最大的服务实例,作为目标服务实例,包括:在所述服务实例列表中多个服务实例的响应比最大且相同的情况下,通过在所述多个服务实例中随机选取的方式,确定所述目标服务实例。在一种可能的实现方式中,所述方法还包括:通过初始化处理,确定服务实例列表中各服务实例的初始权重;选取初始权重最大的服务实例,作为初始目标服务实例;下发初次服务请求至所述初始目标服务实例;其中,所述初次服务请求为初始化处理后,接收的第一次服务请求。在一种可能的实现方式中,所述通过初始化处理,确定服务实例列表中各服务实例的初始权重,包括:依次轮询服务实例列表中的服务实例,得到各服务实例的响应时间;通过统计各服务实例处理预设次数的服务请求的响应时间,得到第四时间;通过统计服务实例列表中各服务实例的第四时间,得到第五时间;根据所述第四时间及第五时间,确定所述服务实例的初始权重;其中,所述初始权重与所述第四时间负相关,与所述第五时间正相关。根据本公开的另一方面,提供了一种负载均衡装置,包括:目标服务实例确定模块,用于根据服务实例列表中各服务实例的等待时间及响应时间,确定目标服务实例,其中,服务实例的等待时间包括该服务实例距离上一次接收服务请求的时间间隔,服务实例的响应时间包括该服务实例从开始处理服务请求到该服务请求处理结束的时间;服务请求下发模块,用于将当前接收到的服务请求下发至所述目标服务实例。根据本公开的另一方面,提供了一种负载均衡装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。本公开实施例中,响应时间反应了服务实例在包括自身能力和网络波动等综合因素影响下的实际处理能力,等待时间反应了服务实例的空闲情况;将服务实例的等待时间和响应时间作为选择目标服务实例的依据,并将当前接收到的服务请求下发至目标服务实例;充分考虑了各服务实例的处理能力、等待时间、系统波动等因素,从而保证了服务请求分发的稳定性、均衡性,提高了分发效率。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。图1示出根据本公开一实施例的一种负载均衡方法的流程图;图2示出根据本公开一实施例的一种负载均衡方法的流程图;图3示出根据本公开一实施例的一种负载均衡装置的结构图;图4示出根据本公开一实施例的一种用于负载均衡的装置的框图。具体实施方式以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。在微服务技术体系中,负载均衡是需要使用的技术,通过负载均衡来实现系统的高可用性,集群扩容等功能。一般来说,负载均衡大致可以分为两种:客户端负载均衡和服务端负载均衡,可以通过多种硬件设备和软件来实现服务端负载均衡。负载均衡器维护一个服务端清单,利用心跳检测等手段实现清单维护,及时清理无法访问的服务,保证清单中都是可以正常访问的服务节点。当客户端发送请求时,会首先到达负载均衡器,负载均衡器会根据负载均衡算法从可调用的服务实例列表中取出一个服务实例地址进行转发,以便均衡平台压力。与服务端负载均衡相对的是客户端负载均衡,其与服务端负载均衡的主要区别在于服务清单的存放位置;在客户端负载均衡中,客户端会自己存放一份服务清单,由客户端本身对该清单进行维护。目前,工业界一般使用轮询算法实现负载均衡机制,极少使用随机算法。这是因为随机算法在服务实例数量有限的情况下,依旧存在着将大量请求转发到同一服务实例的可能性,并不是负载均衡的最佳实践。轮询算法的原理是把所有来自用户的请求轮流分配给内部的服务实例,从服务实例1开始直到服务实例N,然后重新开始循环。其假定所有服务实例的处理性能都相同,并不关心每个具体实例的响应时间和可接入连接数,适用于服务实例具有相同的软硬件配置的情况;但是由于实际的应用场景是十分复杂的,所有的服务实例不可能具有相同的处理能力,因而,可能出现因服务实例间不同的处理能力以及网络状况的波动导致的本文档来自技高网...

【技术保护点】
1.一种负载均衡方法,其特征在于,所述方法包括:/n根据服务实例列表中各服务实例的等待时间及响应时间,确定目标服务实例,其中,服务实例的等待时间包括该服务实例距离上一次接收服务请求的时间间隔,服务实例的响应时间包括该服务实例从开始处理服务请求到该服务请求处理结束的时间;/n将当前接收到的服务请求下发至所述目标服务实例。/n

【技术特征摘要】
1.一种负载均衡方法,其特征在于,所述方法包括:
根据服务实例列表中各服务实例的等待时间及响应时间,确定目标服务实例,其中,服务实例的等待时间包括该服务实例距离上一次接收服务请求的时间间隔,服务实例的响应时间包括该服务实例从开始处理服务请求到该服务请求处理结束的时间;
将当前接收到的服务请求下发至所述目标服务实例。


2.根据权利要求1所述的方法,其特征在于,所述根据服务实例列表中各服务实例的等待时间及响应时间,确定目标服务实例,包括:
根据各服务实例处理最近预设次数的服务请求的响应时间,以及各服务实例的等待时间,确定目标服务实例。


3.根据权利要求1或2所述的方法,其特征在于,所述根据服务实例列表中各服务实例的等待时间及响应时间,确定目标服务实例,包括:
根据服务实例的等待时间及响应时间,确定服务实例对应的响应比;
选取服务实例列表中响应比最大的服务实例,作为目标服务实例;
其中,所述响应比与所述响应时间成负相关,与所述等待时间成正相关。


4.根据权利要求3所述的方法,其特征在于,所述根据服务实例的等待时间及响应时间,确定对应的响应比,包括:
根据服务实例在处理最近预设次数的服务请求的响应时间之和,得到第一时间;
根据服务实例列表中各服务实例的第一时间之和,得到第二时间;
根据所述服务实例的等待时间及所述第二时间之和,得到第三时间;
通过求取所述第三时间与所述第一时间的比值,确定所述响应比。


5.根据权利要求3所述的方法,其特征在于,所述选取服务实例列表中响应比最大的服务实例,作为目标服务实例,包括:
在所述服务实例列表中多个服务实例的响应比最大且相同的情况下,通过在所述多个服务实例中随机选取的方式,确定所述目标服务实例...

【专利技术属性】
技术研发人员:李永华高凡石陈科锦孙根
申请(专利权)人:上海润欣科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1