一种微服务动态伸缩及迁移方法和装置

文档序号:25543449发布日期:2021-06-18 20:40阅读:来源:国知局

技术特征:

1.一种微服务动态伸缩及迁移方法,其特征在于,包括:

收集每个微服务的运行状态信息,所述运行状态信息包括所述微服务的调用信息和资源使用信息;

针对各个微服务,根据所述微服务的调用信息计算第一预设时间范围内所述微服务的平均调用延迟;如果所述平均调用延迟满足预设条件,则将所述微服务标记为待优化微服务;

根据所述微服务的资源使用信息,计算第二预设时间范围的平均资源利用率;如果所述平均资源利用率大于第一预设阈值或者小于第二预设阈值,则将所述微服务标记为待优化微服务;

根据不同微服务的调用信息,确定微服务之间的亲和度,所述亲和度用于表示不同微服务之间的依赖性;

针对所述待优化服务,获取所述待优化服务对应的目标资源利用率、当前资源利用率、容忍度、当前副本数以及调整窗口;并当所述目标资源利用率、所述当前资源利用率和所述容忍度满足调整条件时,根据所述目标资源利用率、所述当前资源利用率、所述容忍度、所述当前副本数以及所述调整窗口,计算所述待优化服务对应的目标副本数;

针对各个待优化微服务,根据微服务之间的亲和度,将与所述待优化微服务之间亲和度最高的其他微服务作为所述待优化微服务的迁移服务,所述迁移服务用于表示将所述待优化微服务迁移至所述其他微服务所在的节点上;

利用所述目标副本数进行扩容,或者,利用所述目标副本数进行缩容;

利用所述迁移服务进行迁移操作。

2.根据权利要求1所述的方法,其特征在于,所述调用信息包括所述微服务在各个时刻的调用延迟;

所述根据所述微服务的调用信息计算第一预设时间范围内所述微服务的平均调用延迟,包括:

获得所有调用延迟中值最小的第一比例的调用延迟;

计算值最小的第一比例的调用延迟的第一平均调用延迟;

获得所有调用延迟中值最小的第二比例的调用延迟;

计算值最小的第二比例的调用延迟的第二平均调用延迟,所述第二比例小于所述第一比例;

所述如果所述平均调用延迟满足预设条件,则将所述微服务标记为待优化微服务,包括:

如果所述第二平均调用延迟与所述第一平均调用延迟满足预设关系,则将所述微服务标记为待优化微服务。

3.根据权利要求2所述的方法,其特征在于,所述如果所述第二平均调用延迟与所述第一比例的调用延迟的比值满足预设关系,则将所述微服务标记为待优化微服务,包括:

如果l10>l50*2,或者,l10<l50*1.2,则将所述微服务标记为待优化微服务,其中,所述l10为所述第二平均调用延迟,所述l50为所述第一平均调用延迟。

4.根据权利要求1所述的方法,其特征在于,所述根据所述微服务的资源使用信息,计算第二预设时间范围的平均资源利用率,包括:

统计所述第二预设时间范围内所述微服务的中央处理单元cpu平均使用量、内存使用量、微服务的cpu请求数以及内存请求数;

通过公式:计算cpu利用率,以及通过公式:计算内存利用率;

其中,usagec表示cpu平均使用量,usagem表示内存使用量,requestedc表示cpu请求数,requestedm表示内存请求数。

5.根据权利要求1所述的方法,其特征在于,所述根据不同微服务的调用信息,确定微服务之间的亲和度,包括:

根据不同微服务的调用信息,通过公式确定微服务之间的亲和度;

其中,affia,b表示微服务a和微服务b的亲和度,m表示所有微服务交换的数据量,表示微服务a的服务实例i和微服务b的服务实例j之间交换的数据量,freq表示所有微服务之间交互的次数,表示微服务a的服务实例i和微服务b的服务实例j之间交互的次数。

6.根据权利要求1所述的方法,其特征在于,所述当前资源利用率包括:当前cpu资源利用率uc和当前内存资源利用率um,所述目标资源利用率包括:目标cpu资源利用率和目标内存资源利用率

所述调整条件包括:或者,其中,d表示容忍度;

所述根据所述目标资源利用率、所述当前资源利用率、所述容忍度、所述当前副本数以及所述调整窗口,计算所述待优化服务对应的目标副本数,包括:

根据所述目标资源利用率、所述当前资源利用率、所述容忍度、所述当前副本数以及所述调整窗口,通过如下公式计算所述待优化服务对应的目标副本数;

其中,replicatar表示目标副本数,wo表示扩容窗口,replicacur表示当前副本数;

所述利用所述目标副本数进行扩容,包括:

将当前副本数的数量增加至所述目标副本数。

7.根据权利要求1所述的方法,其特征在于,所述当前资源利用率包括:当前cpu资源利用率uc和当前内存资源利用率um,所述目标资源利用率包括:目标cpu资源利用率和目标内存资源利用率

所述调整条件包括:或者,其中,d表示容忍度;

所述根据所述目标资源利用率、所述当前资源利用率、所述容忍度、所述当前副本数以及所述调整窗口,计算所述待优化服务对应的目标副本数,包括:

根据所述目标资源利用率、所述当前资源利用率、所述容忍度、所述当前副本数以及所述调整窗口,通过如下公式计算所述待优化服务对应的目标副本数;

其中,replicatar表示目标副本数,replicacur表示当前副本数;wi表示缩容窗口;

所述利用所述目标副本数进行缩容,包括:

将当前副本数的减小至所述目标副本数。

8.根据权利要求1至7任一项所述的方法,其特征在于,所述利用所述目标副本数进行扩容,或者,利用所述目标副本数进行缩容;利用所述迁移服务进行迁移操作,包括:

将包括所述目标副本数和所述迁移服务的调整策略,转换为微服务调整命令;

执行所述微服务调整命令以进行微服务调整。

9.一种微服务动态伸缩及迁移装置,其特征在于,包括:

收集模块,用于收集每个微服务的运行状态信息,所述运行状态信息包括所述微服务的调用信息和资源使用信息;

第一计算模块,用于针对各个微服务,根据所述微服务的调用信息计算第一预设时间范围内所述微服务的平均调用延迟;如果所述平均调用延迟满足预设条件,则将所述微服务标记为待优化微服务;根据所述微服务的资源使用信息,计算第二预设时间范围的平均资源利用率;如果所述平均资源利用率大于第一预设阈值或者小于第二预设阈值,则将所述微服务标记为待优化微服务;

第一确定模块,用于根据不同微服务的调用信息,确定微服务之间的亲和度,所述亲和度用于表示不同微服务之间的依赖性;

第二计算模块,用于针对所述待优化服务,获取所述待优化服务对应的目标资源利用率、当前资源利用率、容忍度、当前副本数以及调整窗口;并当所述目标资源利用率、所述当前资源利用率和所述容忍度满足调整条件时,根据所述目标资源利用率、所述当前资源利用率、所述容忍度、所述当前副本数以及所述调整窗口,计算所述待优化服务对应的目标副本数;

第二确定模块,用于针对各个待优化微服务,根据微服务之间的亲和度,将与所述待优化微服务之间亲和度最高的其他微服务作为所述待优化微服务的迁移服务,所述迁移服务用于表示将所述待优化微服务迁移至所述其他微服务所在的节点上;

处理模块,用于利用所述目标副本数进行扩容,或者,利用所述目标副本数进行缩容;利用所述迁移服务进行迁移操作。

10.根据权利要求9所述的装置,其特征在于,所述调用信息包括微服务在各个时刻的调用延迟;

所述第一计算模块,具体用于获得所有调用延迟中值最小的第一比例的调用延迟;计算值最小的第一比例的调用延迟的第一平均调用延迟;获得所有调用延迟中值最小的第二比例的调用延迟;计算值最小的第二比例的调用延迟的第二平均调用延迟,所述第二比例小于所述第一比例;如果所述第二平均调用延迟与所述第一平均调用延迟满足预设关系,则将所述微服务标记为待优化微服务。


技术总结
本发明实施例提供了一种微服务动态伸缩及迁移方法和装置,涉及云计算技术领域,收集每个微服务的运行状态信息;如果平均调用延迟满足预设条件,将微服务标记为待优化微服务;如果平均资源利用率大于第一预设阈值或者小于第二预设阈值,将微服务标记为待优化微服务;获取待优化服务对应的目标资源利用率、当前资源利用率、容忍度、当前副本数以及调整窗口;并当目标资源利用率、当前资源利用率和容忍度满足调整条件时,计算待优化服务对应的目标副本数;将与待优化微服务之间亲和度最高的其他微服务作为待优化微服务的迁移服务;利用目标副本数进行扩容,或者,利用目标副本数进行缩容;利用迁移服务进行迁移操作。能够提高微服务的可靠性。

技术研发人员:张海涛;黄瀚;马华东
受保护的技术使用者:北京邮电大学
技术研发日:2021.04.26
技术公布日:2021.06.18
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1