一种分布式系统动态智能服务治理方法技术方案

技术编号:19865963 阅读:22 留言:0更新日期:2018-12-22 13:48
本发明专利技术涉及分布式系统的治理技术,旨在提供一种分布式系统动态智能服务治理方法。该方法包括:为分布式系统中的服务应用程序配置边车进程;请求先经过边车进程的处理,由后者充当服务应用程序的代理;边车进程为监控调度服务器记录请求的信息,并充当其采集代理;监控调度服务器利用运行期间内的累积数据进行拟合,计算出当前负载下的最优调度策略,然后下发调度指令。本发明专利技术能降低业务系统复杂度,减少分布式系统中的功能冗余;提高系统的可用性,提高系统的负载能力降低响应时间;智能监控告警,让告警真正产生意义和价值;利于线上问题的排查;给系统动态扩容提供判断依据。

【技术实现步骤摘要】
一种分布式系统动态智能服务治理方法
本专利技术涉及分布式系统的治理技术,特别涉及一种分布式系统动态智能服务治理方法。
技术介绍
分布式系统的运维往往依赖于链路的监控。通过监控每个服务的响应时间、延迟时间等,最后得到整个调用链的响应时间,并且通过压力测试等方式得到系统的负载能力。项目运行时,QPS等指标超出一定数值后发出报警并限流。IT系统的限流同理,往往采用压力测试加经验判断的方法设定。动态限流能根据各个子系统的状态区分限流,保障整个系统的可用性与稳定性。分布式系统随着服务拆分会带来服务治理、监控以及可用性变低的问题。目前的方案往往不能智能预警,限流阈值不能根据系统状态动态设定,一个服务的失败或者超时往往造成级联的失败或者超时,最终给整个系统造成灾难性的结果。分布式系统解决了很多软件开发中的问题,也带来很多困难,针对这些困难业界有一些解决方案。针对链路监控谷歌《Dapper》论文描述了一种解决方案;监控业界有prometheus等为代表的方案;这些方案解决了一些现实问题,但是还远远不够,例如:1.对业务系统存在侵入性:现有的链路追踪系统实现均需要修改现有业务代码,作定制开发,且正在运行的老系统难以被兼容进去。2.难以适配异构系统:如果系统使用了不同操作系统,不同的编程语言,现有的方案难以完全覆盖。3.无法动态智能进行告警和干预:现有的告警系统往往设定固定的阈值,超出阈值后发出告警。没有引入负反馈机制。由于系统的负载和系统的性能并非线性关系,固定的阈值干预并不能让系统处于最理想的运行状态。
技术实现思路
本专利技术要解决的技术问题是,克服现有技术中的不足,提供一种分布式系统动态智能服务治理方法。为解决上述技术问题,本专利技术采用的的解决方案是:提供一种分布式系统动态智能服务治理方法,包括:(1)为分布式系统中的服务应用程序配置边车进程,即,能够以边车模式运行的独立进程;边车进程能够与一起运行,在为其提供额外能力的同时,还能根据预设方案对服务应用程序进行管理和调度;(2)请求在到达服务应用程序前先经过边车进程的处理,由后者充当服务应用程序的代理,实现对请求链路、服务运行环境的监控,并对服务进行限流;(3)边车进程记录请求的开始和结束时间,并把该请求的ID同步到监控调度服务器;同时,边车进程还充当监控调度服务器的采集代理,按设定的时间间隔实时收集服务运行环境的监控指标;(4)监控调度服务器在收到边车进程采集的新的负载数据和性能指标后,利用运行期间内的累积数据进行拟合,计算出当前负载下的最优调度策略,然后下发调度指令。本专利技术中,步骤(3)中所述服务运行环境的监控指标包括:CPU使用率、内存使用率、磁盘IO与网络IO、请求的返回状态码。本专利技术中,在分布式系统中,不同服务应用程序所配置的边车进程是通用的,其区别仅在于配置参数的不同。本专利技术中,边车进程的代理服务是通过下述方式实现的:(1)参照传统的代理服务器原理,在服务注册和发现时使用边车进程的地址代替服务应用程序的真实地址;或者,(2)结合SDN的控制器来实现。本专利技术中,由监控调度服务器充当监控告警中心:监控调度服务器根据收到的负载数据和性能指标计算出整个系统的负载和性能,按照设定条件发出告警;同时,监控调度服务器针利用历史数据持续进行学习和拟合,以获取系统的典型负载状态,然后针对不同的系统运行时期实现动态调整告警的阈值。与现有技术相比,本专利技术的技术效果是:1.降低业务系统复杂度,业务系统需要关联真正的业务,对于服务的治理和调度无需关联;2.减少分布式系统中的功能冗余。分布式系统中,每个服务的运行环境均需要限流,监控,断路等服务。通用的sidecar能减少重复开发。3.提高系统的可用性,提高系统的负载能力降低响应时间。通过负反馈原理,以及历史数据的拟合,时刻让系统处于最优运行状态。4.智能监控告警,让告警真正产生意义和价值。5.利于线上问题的排查。链路追踪监控能让排查人员快速清晰的定位故障点。6.给系统动态扩容提供判断依据。附图说明图1为本专利技术的部署图(边车进程与服务应用程序部署在同一个机器、虚拟机或容器上)。图2为边车进程的工作流程示意图。具体实施方式首先对本专利技术涉及到的技术名词或者概念说明如下:1.负反馈原理负反馈原理是控制论的基本概念。反馈可以简单的分为正反馈和负反馈两种,负反馈的系统输出会以某种方式返回到输入并起到与输出相反的作用,使得系统的输出与目标误差减小,系统趋向稳定。在本专利技术描述的系统中,基于负反馈原理来不断优化限流和监控的告警的参数。2.边车模式边车模式也叫Sidecar模式,是与服务应用程序一起运行的独立进程,为应用程序提供了额外的能力并且能对应用程序进行一定的管理和调度。3.系统负载系统负载是对系统当前压力的一种衡量,可以通过以下几个量化指标衡量:a)QPS,一般指单位时间内处理的请求数。b)TPS,指单位时间处理的完整事务数。事务可以简单理解为用户一步或者几步操作的集合。c)并发用户数,指统一时刻向服务器发起请求的用户总数。d)磁盘IO,CPU使用率,内存使用率等4.系统性能系统性能反应当前负载下系统处理的能力,主要有以下指标:a)用户请求等待时间b)服务器处理时间c)请求错误超时率,错误率5.代理模式代理模式给目表提供一个代理对象,并且由代理对象控制对目标的引用。在该系统中,使用边车(sidecar)来代理对具体服务的调用。链路监控:一个请求依赖多个服务且最终请求失败往往很难排查。如果对调用链路进行追踪监控则很方便的能排查到请求在哪一个环境出问题。智能预警:传统的IT运维系统中,一般设定一个阈值,超过阈值后发出系统告警。如cpu负载超过80%。这个阈值需要运维人员用经验总结设定,只是一种很粗粒度的判断。智能预警能根据不同时间不同事件来区分系统状况。如系统闲时cpu负载超过50%往往意味着有特殊事件的发生,这个时候需要预警。动态限流:分布式、智能、动态的限流方法。在分布式系统中,分发到每个服务的流量都作一定的限制,保证服务的高效运行。此外,结合统计数据以及负反馈原理进行动态的限流。断路保护:分布式微服务系统中,一个功能往往依赖多个服务协调,一个简单的页面请求可能在微服务系统中调用了N个服务。下面结合附图,对本专利技术的具体实施方式进行详细描述。本专利技术所述的分布式系统动态智能服务治理方法,具体包括:(1)为分布式系统中的服务应用程序配置边车进程,即,能够以边车模式运行的独立进程;边车进程能够与一起运行,在为其提供额外能力的同时,还能根据预设方案对服务应用程序进行管理和调度;(2)请求在到达服务应用程序前先经过边车进程的处理,由后者充当服务应用程序的代理,实现对请求链路、服务运行环境的监控,并对服务进行限流;在分布式系统中,不同服务应用程序所配置的边车进程是通用的,其区别仅在于配置参数的不同。充分的复用,可使开发业务代码时则不需要额外关心其它内容,降低了业务系统的复杂性和耦合度。边车进程的代理服务可通过下述方式实现:(1)参照传统的代理服务器原理,在服务注册和发现时使用边车进程的地址代替服务应用程序的真实地址;或者,(2)结合SDN(软件定义网络,SoftwareDefinedNetwork,SDN)的控制器来实现。(3)边车进程记录请求的开始和结本文档来自技高网...

【技术保护点】
1.一种分布式系统动态智能服务治理方法,其特征在于,包括:(1)为分布式系统中的服务应用程序配置边车进程,即,能够以边车模式运行的独立进程;边车进程能够与一起运行,在为其提供额外能力的同时,还能根据预设方案对服务应用程序进行管理和调度;(2)请求在到达服务应用程序前先经过边车进程的处理,由后者充当服务应用程序的代理,实现对请求链路、服务运行环境的监控,并对服务进行限流;(3)边车进程记录请求的开始和结束时间,并把该请求的ID同步到监控调度服务器;同时,边车进程还充当监控调度服务器的采集代理,按设定的时间间隔实时收集服务运行环境的监控指标;(4)监控调度服务器在收到边车进程采集的新的负载数据和性能指标后,利用运行期间内的累积数据进行拟合,计算出当前负载下的最优调度策略,然后下发调度指令。

【技术特征摘要】
1.一种分布式系统动态智能服务治理方法,其特征在于,包括:(1)为分布式系统中的服务应用程序配置边车进程,即,能够以边车模式运行的独立进程;边车进程能够与一起运行,在为其提供额外能力的同时,还能根据预设方案对服务应用程序进行管理和调度;(2)请求在到达服务应用程序前先经过边车进程的处理,由后者充当服务应用程序的代理,实现对请求链路、服务运行环境的监控,并对服务进行限流;(3)边车进程记录请求的开始和结束时间,并把该请求的ID同步到监控调度服务器;同时,边车进程还充当监控调度服务器的采集代理,按设定的时间间隔实时收集服务运行环境的监控指标;(4)监控调度服务器在收到边车进程采集的新的负载数据和性能指标后,利用运行期间内的累积数据进行拟合,计算出当前负载下的最优调度策略,然后下发调度指令。2.根据权利要求1所述的方法,其特征在于,步骤(...

【专利技术属性】
技术研发人员:袁海范渊
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:浙江,33

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

1