【技术实现步骤摘要】
一种基于微服务负载的动态弹性伸缩方法
[0001]本专利技术涉及微服务负载
,具体为一种基于微服务负载的动态弹性伸缩方法
。
技术介绍
[0002]近些年来,
IT
系统发展很快,随着需求增加
、
各项新的软件技术产生等使得软件部署环境的运维管理越来越复杂,能够提供基于业务负载的动态弹性伸缩能力成为了迫切的需求,由于微服务架构和容器技术的兴起,大部分业务应用都采用微服务架构并且使用容器技术,所以最小的伸缩力度是容器,负载的弹性伸缩,在应用级别伸缩层面一般可以指定应用的实例以及每个实例使用的资源进行伸缩调整,提供垂直
、
水平伸缩的方式
。
[0003]随着信息时代和大数据时代的到来,数据呈爆发式增长,灵活高效的数据处理方法变得越来越重要,数据处理由多个步骤组成,如数据采集
、
重新格式化数据
、
运行分析等,这些步骤形成一条工作流,工作流通常需要对海量数据进行查找
、
移动
、
处理
、
分析及可视化等操作,但其部署和执行对计算资源和存储空间的要求较高
。
[0004]微服务架构中云数据中心一直存在管理困难
、
资源利用率不足
、
高能耗等问题,加上容器本身管理的复杂性,使得在云平台中基于容器执行工作流需要一种高效的工作流编排调度系统来有效地协调和管理数据
、
任务及资源;工作流在实际运行中往往会面 ...
【技术保护点】
【技术特征摘要】
1.
一种基于微服务负载的动态弹性伸缩方法,其特征在于,包括以下步骤:
S1
用户通过图形界面定义工作流,系统根据用户输入自动生成工作流描述文件并提交给流程解析器;
S2
流程解析器对工作流描述进行解析,生成相应的容器启动命令交给容器调度器;
S3
容器调度器根据主机资源使用情况选取合适的主机运行容器;
S4
弹性伸缩决策器定时计算每个服务的资源使用率,并与规定的指标比较;
S5
如果符合伸缩条件,则弹性伸缩决策模块根据服务的伸缩策略执行服务伸缩操作
。2.
根据权利要求1所述的一种基于微服务负载的动态弹性伸缩方法,其特征在于:所述弹性伸缩过程中当一个流程有多个容器实例时,采用负载均衡机制将请求均衡分配到每个容器,每个流程通过
TCP
协议将处理结果直接发送到下一个流程
。3.
根据权利要求1所述的一种基于微服务负载的动态弹性伸缩方法,其特征在于:所述弹性伸缩过程中的任务处理程序在接收数据前先判断是否需停止,使程序通过停止信号退出时没有任务处于执行状态,接收数据后发送确认信号使发送方确认数据被接收,同样发送数据后等待确认的信号,确保数据已发送给下一个流程
。4.
根据权利要求1所述的一种基于微服务负载的动态弹性伸缩方法,其特征在于:所述弹性伸缩过程中基于
NFS
实现跨主机容器之间的数据交互,基于
redis
构建任务队列实现多容器并发执行,每个流程创建一个任务队列,任务队列中存放待处理数据的地址,每个处理程序从任务队列中取出数据,然后判断是否为停止信号
。5.
根据权利要求1所述的一种基于微服务负载的动态弹性伸缩方法,其特征在于:所述弹性伸缩包括横向伸缩和纵向伸缩,所述横向伸缩也叫水平扩展,即用更多的节点来支撑更大量的请求,所述纵向伸缩也叫垂直扩展,即扩展一个点的能力来支撑更大量的请求
。6.
根据权利要求5所述的一种基于微服务负载的动态弹性伸缩方法,其特征在于:所述横向伸缩的过程中弹性伸缩决策器首先获取待扩容服务的资源配额,然后查找是否存在空闲资源大于该配额的主机,若存在则通过
...
【专利技术属性】
技术研发人员:魏飞,陈志刚,肖飞,
申请(专利权)人:四川开物信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。