本发明涉及微服务实例选择领域,更具体地,特别是指一种自适应负载均衡的方法、系统、设备和存储介质。
背景技术:
1、在负载均衡设备或者微服务实例选择中,都涉及服务实例的负载均衡算法的选择,传统的负载均衡算法,例如轮询、权重、一致性hash、本地优先等算法都是固定方式的执行,无法根据实例真实的运行时效进行选择实例,也就无法选择最好的实例节点进行执行相关操作,无法发挥平台的最大性能。
技术实现思路
1、有鉴于此,本发明实施例的目的在于提出一种自适应负载均衡的方法、系统、计算机设备及计算机可读存储介质,本发明通过响应时间来反馈实例的真实执行效率;通过自适应强化学习,保证服务实例选择的合理性,遗忘因子保持持续增长的学习和对历史数据遗忘;结合轮询和强化学习权重进行实例选择,保证服务实例选择的合理性;能够根据实例的执行时间,动态调整服务实例权重,从而选择最适合的实例,发挥平台的最大性能。
2、基于上述目的,本发明实施例的一方面提供了一种自适应负载均衡的方法,包括如下步骤:监控每个实例的每个操作的执行响应时间,并根据每个实例的每个操作的执行响应时间进行自适应权重强化学习;响应于自适应权重强化学习次数小于第一次数,采用轮询的方式进行服务实例的调度;以及响应于自适应权重强化学习次数大于或等于第一次数,采用学习到的权重进行服务实例的调度。
3、在一些实施方式中,所述方法还包括:响应于自适应权重强化学习次数大于第二次数,所述第二次数大于所述第一次数,则在自适应权重强化学习中添加遗忘因子。
4、在一些实施方式中,所述在自适应权重强化学习中添加遗忘因子包括:将遗忘因子设置为当前自适应权重强化学习次数与第一系数的乘积。
5、在一些实施方式中,所述监控每个实例的每个操作的执行响应时间包括:获取调用实例的第一时刻,获取所述实例返回数据的第二时刻,计算所述第一时刻和所述第二时刻的差值作为执行响应时间。
6、在一些实施方式中,所述根据每个实例的每个操作的执行响应时间进行自适应权重强化学习包括:根据所述执行响应时间和自适应权重强化学习次数确定当前操作中当前服务的响应时间。
7、在一些实施方式中,所述根据每个实例的每个操作的执行响应时间进行自适应权重强化学习包括:根据操作中服务总的响应时间确定所述操作的实例选择权重。
8、在一些实施方式中,所述根据每个实例的每个操作的执行响应时间进行自适应权重强化学习包括:根据所述操作的实例选择权重确定所述操作的服务实例选择权重比。
9、本发明实施例的另一方面,提供了一种自适应负载均衡的系统,包括:监控模块,配置用于监控每个实例的每个操作的执行响应时间,并根据每个实例的每个操作的执行响应时间进行自适应权重强化学习;轮询模块,配置用于响应于自适应权重强化学习次数小于第一次数,采用轮询的方式进行服务实例的调度;以及执行模块,配置用于响应于自适应权重强化学习次数大于或等于第一次数,采用学习到的权重进行服务实例的调度。
10、本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
11、本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
12、本发明具有以下有益技术效果:通过响应时间来反馈实例的真实执行效率;通过自适应强化学习,保证服务实例选择的合理性,遗忘因子保持持续增长的学习和对历史数据遗忘;结合轮询和强化学习权重进行实例选择,保证服务实例选择的合理性;能够根据实例的执行时间,动态调整服务实例权重,从而选择最适合的实例,发挥平台的最大性能。
1.一种自适应负载均衡的方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的自适应负载均衡的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的自适应负载均衡的方法,其特征在于,所述在自适应权重强化学习中添加遗忘因子包括:
4.根据权利要求1所述的自适应负载均衡的方法,其特征在于,所述监控每个实例的每个操作的执行响应时间包括:
5.根据权利要求4所述的自适应负载均衡的方法,其特征在于,所述根据每个实例的每个操作的执行响应时间进行自适应权重强化学习包括:
6.根据权利要求5所述的自适应负载均衡的方法,其特征在于,所述根据每个实例的每个操作的执行响应时间进行自适应权重强化学习包括:
7.根据权利要求6所述的自适应负载均衡的方法,其特征在于,所述根据每个实例的每个操作的执行响应时间进行自适应权重强化学习包括:
8.一种自适应负载均衡的系统,其特征在于,包括:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。