一种自适应的分布式体系架构制造技术

技术编号:18530308 阅读:51 留言:0更新日期:2018-07-25 15:04
本发明专利技术公开了一种自适应的分布式体系架构,通过自适应地调整指定微服务实例规模的方式,能够应对由于用户需求变更对云服务即保质又要控制成本的要求的挑战。本发明专利技术站在分布式集群层级角度观察并发与性能的内在关系,具备良好的模型泛化能力,能广泛应用于不同结构及行为特征的分布式集群中,有效降低IDC运维及研发人员的工作强度。此外,本发明专利技术主干算法来自google deepmind团队基于Q Learning的改进,算法不需要出现正确的输入/输出对,也不需要精确校正次优化的行为,更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。

【技术实现步骤摘要】
一种自适应的分布式体系架构
本专利技术属于互联网分布式系统
,具体涉及一种自适应的分布式体系架构。
技术介绍
随着互联网行业迈入云时代已十余年,各种规模和应用场景的云端分布式服务体系架构正在默默的创造价值,像Google、BATJ等巨头的为某些海量用户应用配置了成千上万的后端服务实例,分布在地球上各个机房中,这无疑增加了运维难度和工作量。当然,为解决此类问题,一直都有新的技术出现,例如针对双11,阿里云通过docker等虚拟化机制,迅速将互联网机房中的资源集中到热门业务上,但要做这类事总是有以下问题需要考虑:1.什么时候或条件下投入多少资源到哪些业务中?2.什么时候或条件下可以从哪些业务已占用的资源中回收多少资源转移给当前热门业务?3.调整的过程是否及时有效?在一条腿迈入AI时代的今天,这些事情能否不让人来干预了?通过考察目前业界流行的相关服务架构,如图1所示,其中负载均衡、业务路由模块、业务系统、基础服务等模块中,都大量存在相同配置、相同程序在不同实例(可以是实体机、虚拟机或docker环境)上同时运行的情况。这种分布式架构本身具有很强的可用性(其中几个实例离线不会影响到用户)、可扩展性(由于都是相同的配置和程序,方便于在其他实例上部署)、高性能(便于水平扩展即意味着吞吐量的提升很方便);在这种分布式架构中,可以通过自适应地调整指定微服务实例规模的方式,应对由于用户需求变更对云服务即保质又要控制成本的要求的挑战。但是这种分布式架构也存在着一些问题需要去克服:(1)目前我们的分布式系统的确有海量历史的性能数据保存下来,但绝大部分数据都是服务正常的数据,少数的故障其原因也是多样的,例如是程序bug导致流程不正常、第三方的故障、上线过程中配置错误等一些无法通过改变系统规模来解决的原因;那些可以通过改变系统规模改进或避免事故的场景,要么无法从历史数据中识别出来,要么是极少数的几例。(2)IDC运维及研发无法抽出大量时间或及时审查或过滤线上海量性能数据。
技术实现思路
鉴于上述,本专利技术提供了一种自适应的分布式体系架构,即通过自适应地调整指定微服务实例规模的方式,能够应对由于用户需求变更对云服务即保质又要控制成本的要求的挑战。一种自适应的分布式体系架构,包括客户端、业务处理层以及数据持久层;用户通过所述客户端向业务处理层发送服务请求,所述业务处理层包括业务系统以及基础服务系统,业务系统用于对用户发送的请求进行具体的业务处理,基础服务系统用于对基础数据或基础服务提供全局服务,所述数据持久层用于对海量数据提供持久化和及时响应;所述业务处理层还包括有自适应单元,对于业务系统、基础服务系统或数据持久层中的任一目标服务集群,所述自适应单元实时监控获取该目标服务集群对其负责业务并发量及请求响应时间所体现的性能数据作为特征工程数据,使该目标服务集群处理响应时间占总响应时间的比例作为奖励工程数据,利用特征工程及奖励工程数据通过基于价值的强化学习方法预测出在保证服务质量前提下该目标服务集群下一周期内的最小集群规模,并依此通过调度控制该目标服务集群的规模。进一步地,所述总响应时间为目标服务集群收到用户请求到回复该请求总的时间,其由目标服务集群自身处理响应时间和目标服务集群后端处理响应时间相加组成,后端处理响应时间为目标服务集群向其后端服务系统转发用户请求直至收到答复的时间。进一步地,所述自适应单元包含有监控模块,其用于实时监控获取目标服务集群对其负责业务并发量及请求响应时间所体现的性能数据,包括周期内目标服务集群的规模、周期内目标服务集群承载业务请求的总吞吐量平均值、目标服务集群在周期内的CPU使用量算术平均值、内存占用量算术平均值、磁盘IO总量算术平均值以及网络IO总量算术平均值。进一步地,所述自适应单元包含有预处理模块,其将监控模块收集到的性能数据组合成特征向量的形式,同时通过以下公式计算出关于目标服务集群的奖励值R:其中:α为预设的比例系数,ηk和ηk-1分别为当前周期和上一周期目标服务集群处理响应时间占总响应时间的比例,N为当前周期目标服务集群的规模,H为奖惩系数,若上一周期内目标服务集群扩容则H=-1,若上一周期内目标服务集群缩容则H=1。进一步地,所述自适应单元包含有学习模块和执行模块,学习模块采用DQN(DeepQNetwork)强化学习模型进行预测,即将所述特征向量以及奖励值R输入至DQN模型中预测出目标服务集群在下一周期内的最小集群规模,并由执行模块根据最小集群规模对目标服务集群进行扩容或缩容,通过上轮决策执行后形成当前周期的集群数据对下一周期的决策产生影响,从而形成回合制的行为反馈体系。进一步地,所述业务处理层中还包含有防火墙及安全模块以及负载均衡及业务路由模块,所述负载均衡及业务路由模块位于业务系统的前级,用于将用户请求均匀分配给各服务器,使得服务集群负载均衡;所述防火墙及安全模块位于负载均衡及业务路由模块的前级,用于过滤非正常的请求以及来自非法IP地址的请求。基于上述技术方案,本专利技术具有以下有益技术效果:(1)本专利技术站在分布式集群层级角度观察并发与性能的内在关系,具备良好的模型泛化能力,能广泛应用于不同结构及行为特征的分布式集群中。(2)本专利技术是一套无人值守的在线实时监控运维方案,可有效降低IDC运维及研发人员的工作强度。(3)本专利技术主干算法来自googledeepmind团队基于QLearning的改进,算法不需要出现正确的输入/输出对,也不需要精确校正次优化的行为,更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。附图说明图1为现有流行的分布式体系服务架构示意图。图2为改造前顺网分布式缓存hours的整体拓扑图。图3为本专利技术系统的主干业务流程示意图。图4为改造后顺网分布式缓存hours的整体拓扑图。具体实施方式为了更为具体地描述本专利技术,下面结合附图及具体实施方式对本专利技术的技术方案进行详细说明。强化学习(ReinforcementLearning)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益,其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。强化学习和标准的监督式学习之间的区别在于,它并不需要出现正确的输入/输出对,也不需要精确校正次优化的行为;强化学习更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。著名的AlphaGo就是以深度强化学习为核心算法的:2016年3月,阿尔法围棋与围棋世界冠军、职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜;2017年5月27日,在柯洁与阿尔法围棋的人机大战之后,阿尔法围棋团队宣布阿尔法围棋将不再参加围棋比赛;2017年10月18日,DeepMind团队公布了最强版AlphaGo,代号AlphaGoZero。本专利技术利用的核心算法QLearning是基于价值的一类强化学习算法,Watkins于1981年在《LearningfromDelayedRewards》其Ph.D.论文中提出,在1992年Watkins和Dayan证明其收敛性。最近使用QLearning方法到深度学习中的应用来自Go本文档来自技高网
...

【技术保护点】
1.一种自适应的分布式体系架构,包括客户端、业务处理层以及数据持久层;用户通过所述客户端向业务处理层发送服务请求,所述业务处理层包括业务系统以及基础服务系统,业务系统用于对用户发送的请求进行具体的业务处理,基础服务系统用于对基础数据或基础服务提供全局服务,所述数据持久层用于对海量数据提供持久化和及时响应;其特征在于:所述业务处理层还包括有自适应单元,对于业务系统、基础服务系统或数据持久层中的任一目标服务集群,所述自适应单元实时监控获取该目标服务集群对其负责业务并发量及请求响应时间所体现的性能数据作为特征工程数据,使该目标服务集群处理响应时间占总响应时间的比例作为奖励工程数据,利用特征工程及奖励工程数据通过基于价值的强化学习方法预测出在保证服务质量前提下该目标服务集群下一周期内的最小集群规模,并依此通过调度控制该目标服务集群的规模。

【技术特征摘要】
1.一种自适应的分布式体系架构,包括客户端、业务处理层以及数据持久层;用户通过所述客户端向业务处理层发送服务请求,所述业务处理层包括业务系统以及基础服务系统,业务系统用于对用户发送的请求进行具体的业务处理,基础服务系统用于对基础数据或基础服务提供全局服务,所述数据持久层用于对海量数据提供持久化和及时响应;其特征在于:所述业务处理层还包括有自适应单元,对于业务系统、基础服务系统或数据持久层中的任一目标服务集群,所述自适应单元实时监控获取该目标服务集群对其负责业务并发量及请求响应时间所体现的性能数据作为特征工程数据,使该目标服务集群处理响应时间占总响应时间的比例作为奖励工程数据,利用特征工程及奖励工程数据通过基于价值的强化学习方法预测出在保证服务质量前提下该目标服务集群下一周期内的最小集群规模,并依此通过调度控制该目标服务集群的规模。2.根据权利要求1所述的分布式体系架构,其特征在于:所述总响应时间为目标服务集群收到用户请求到回复该请求总的时间,其由目标服务集群自身处理响应时间和目标服务集群后端处理响应时间相加组成,后端处理响应时间为目标服务集群向其后端服务系统转发用户请求直至收到答复的时间。3.根据权利要求1所述的分布式体系架构,其特征在于:所述自适应单元包含有监控模块,其用于实时监控获取目标服务集群对其负责业务并发量及请求响应时间所体现的性能数据,包括周期内目标服务集群的规模、周期内目标服务集群承载业务请求的总吞吐量平均...

【专利技术属性】
技术研发人员:陈亮
申请(专利权)人:杭州顺网科技股份有限公司
类型:发明
国别省市:浙江,33

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

1