[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN109067597A - 一种分布式系统动态智能服务治理方法 - Google Patents

一种分布式系统动态智能服务治理方法 Download PDF

Info

Publication number
CN109067597A
CN109067597A CN201811110086.8A CN201811110086A CN109067597A CN 109067597 A CN109067597 A CN 109067597A CN 201811110086 A CN201811110086 A CN 201811110086A CN 109067597 A CN109067597 A CN 109067597A
Authority
CN
China
Prior art keywords
monitoring
service
sidecar
request
distributed system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811110086.8A
Other languages
English (en)
Inventor
袁海
范渊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN201811110086.8A priority Critical patent/CN109067597A/zh
Publication of CN109067597A publication Critical patent/CN109067597A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

一种分布式系统动态智能服务治理方法
技术领域
本发明涉及分布式系统的治理技术,特别涉及一种分布式系统动态智能服务治理方法。
背景技术
分布式系统的运维往往依赖于链路的监控。通过监控每个服务的响应时间、延迟时间等,最后得到整个调用链的响应时间,并且通过压力测试等方式得到系统的负载能力。项目运行时,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(软件定义网络,Software Defined Network,SDN)的控制器来实现。
(3)边车进程记录请求的开始和结束时间,并把该请求的ID同步到监控调度服务器;同时,边车进程还充当监控调度服务器的采集代理,按设定的时间间隔实时收集服务运行环境的监控指标;服务运行环境的监控指标包括(但不限于):CPU使用率、内存使用率、磁盘IO与网络IO、请求的返回状态码。
(4)监控调度服务器在收到边车进程采集的新的负载数据和性能指标后,利用运行期间内的累积数据进行拟合(系统运行时间越长拟合效果越好),计算出当前负载下的最优调度策略,然后下发调度指令。
一个简单的例子:
1.系统中有服务应用程序A、B、C
2.服务应用程序A、B、C当前的QPS分别为100,10,50
3.历史数据拟合表面,此时如果将A服务QPS限定在80整个系统响应性能最好
4.调度服务将计算结果发给sidecar
5.sidecar限流为80,并且将超出的流量放入消息队列平缓QPS或者在允许的情况下将服务A水平拓展,分流
6.如果某个服务D为非关键服务,此时D服务在A->B->C->D的服务调用链中,且D响应时间长,调度服务会根据预定策略决定是否断路。此时调用链变为A->B->C。服务D的内容放入异步队列或者通过后续的定时任务等额外机制补偿。
本发明中,监控调度服务器还同时充当监控告警中心的作用。传统的监控告警往往检查指标是否超过固定阈值,而且往往针对单一服务。本发明中,监控调度服务器不仅有单一服务的负载和性能数据,也能根据收到的负载数据和性能指标计算出整个系统的负载和性能,按照设定条件发出告警;同时,监控调度服务器针利用历史数据持续进行学习和拟合,以获取系统的典型负载状态,然后针对不同的系统运行时期实现动态调整告警的阈值。比如政务系统在晚上8:00以后为低峰期,在白天某个时段为高峰期,那么针对不同时期,告警的阈值动态调整。

Claims (5)

1.一种分布式系统动态智能服务治理方法,其特征在于,包括:
(1)为分布式系统中的服务应用程序配置边车进程,即,能够以边车模式运行的独立进程;边车进程能够与一起运行,在为其提供额外能力的同时,还能根据预设方案对服务应用程序进行管理和调度;
(2)请求在到达服务应用程序前先经过边车进程的处理,由后者充当服务应用程序的代理,实现对请求链路、服务运行环境的监控,并对服务进行限流;
(3)边车进程记录请求的开始和结束时间,并把该请求的ID同步到监控调度服务器;同时,边车进程还充当监控调度服务器的采集代理,按设定的时间间隔实时收集服务运行环境的监控指标;
(4)监控调度服务器在收到边车进程采集的新的负载数据和性能指标后,利用运行期间内的累积数据进行拟合,计算出当前负载下的最优调度策略,然后下发调度指令。
2.根据权利要求1所述的方法,其特征在于,步骤(3)中所述服务运行环境的监控指标包括:CPU使用率、内存使用率、磁盘IO与网络IO、请求的返回状态码。
3.根据权利要求1所述的方法,其特征在于,在分布式系统中,不同服务应用程序所配置的边车进程是通用的,其区别仅在于配置参数的不同。
4.根据权利要求1所述的方法,其特征在于,边车进程的代理服务是通过下述方式实现的:
(1)参照传统的代理服务器原理,在服务注册和发现时使用边车进程的地址代替服务应用程序的真实地址;或者,
(2)结合SDN的控制器来实现。
5.根据权利要求1所述的方法,其特征在于,由监控调度服务器充当监控告警中心:监控调度服务器根据收到的负载数据和性能指标计算出整个系统的负载和性能,按照设定条件发出告警;同时,监控调度服务器针利用历史数据持续进行学习和拟合,以获取系统的典型负载状态,然后针对不同的系统运行时期实现动态调整告警的阈值。
CN201811110086.8A 2018-09-21 2018-09-21 一种分布式系统动态智能服务治理方法 Pending CN109067597A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811110086.8A CN109067597A (zh) 2018-09-21 2018-09-21 一种分布式系统动态智能服务治理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811110086.8A CN109067597A (zh) 2018-09-21 2018-09-21 一种分布式系统动态智能服务治理方法

Publications (1)

Publication Number Publication Date
CN109067597A true CN109067597A (zh) 2018-12-21

Family

ID=64763413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811110086.8A Pending CN109067597A (zh) 2018-09-21 2018-09-21 一种分布式系统动态智能服务治理方法

Country Status (1)

Country Link
CN (1) CN109067597A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109903175A (zh) * 2019-03-26 2019-06-18 众安在线财产保险股份有限公司 一种保险核心系统监控平台
CN110868449A (zh) * 2019-10-14 2020-03-06 深圳市非零无限科技有限公司 一种基于异步消息实现定时任务的方法及系统
CN111130944A (zh) * 2019-12-30 2020-05-08 苏州思必驰信息科技有限公司 系统监控方法及系统
CN111212129A (zh) * 2019-12-30 2020-05-29 北京浪潮数据技术有限公司 一种基于边车模式的容器应用高可用方法、装置以及设备
CN111475772A (zh) * 2020-03-27 2020-07-31 微梦创科网络科技(中国)有限公司 一种容量评估方法及装置
CN111917844A (zh) * 2020-07-17 2020-11-10 中信银行股份有限公司 一种分布式服务追踪的方法及装置
WO2020227266A1 (en) * 2019-05-08 2020-11-12 Cisco Technology, Inc. Systems and methods for protecting a service mesh from external attacks on exposed software vulnerabilities
CN111935289A (zh) * 2020-08-14 2020-11-13 中国工商银行股份有限公司 基于区块链的动态监控方法和装置
CN112241355A (zh) * 2020-10-19 2021-01-19 恩亿科(北京)数据科技有限公司 链路追踪方法、系统、计算机可读存储介质及电子设备
CN112511560A (zh) * 2020-12-21 2021-03-16 北京云思畅想科技有限公司 一种基于服务网格的混合云环境下数据安全保障方法
CN112615790A (zh) * 2020-12-22 2021-04-06 苏州思必驰信息科技有限公司 多服务端的限流、流量监测系统及方法
CN114374693A (zh) * 2021-12-09 2022-04-19 中国空间技术研究院 分布式系统去中心化实时业务调度管理方法及系统
CN115665590A (zh) * 2022-10-21 2023-01-31 北京中电飞华通信有限公司 基于eSIM卡和5G通信的物联网数据采集系统及方法
WO2023016415A1 (zh) * 2021-08-09 2023-02-16 华为云计算技术有限公司 运行容器组的节点,容器组的管理系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103875276A (zh) * 2011-10-07 2014-06-18 瑞典爱立信有限公司 用于bbf和3gpp接入互通的bng到pcrf中介实体
CN107025256A (zh) * 2015-11-06 2017-08-08 国际商业机器公司 用于减少基于云的服务的重新激活时间的方法和系统
US9842045B2 (en) * 2016-02-19 2017-12-12 International Business Machines Corporation Failure recovery testing framework for microservice-based applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103875276A (zh) * 2011-10-07 2014-06-18 瑞典爱立信有限公司 用于bbf和3gpp接入互通的bng到pcrf中介实体
CN107025256A (zh) * 2015-11-06 2017-08-08 国际商业机器公司 用于减少基于云的服务的重新激活时间的方法和系统
US9842045B2 (en) * 2016-02-19 2017-12-12 International Business Machines Corporation Failure recovery testing framework for microservice-based applications

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
陈皓: "《管理设计篇之"服务网络"》", 《极客时间》 *
陈皓: "《管理设计篇之"边车模式》", 《极客时间》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109903175A (zh) * 2019-03-26 2019-06-18 众安在线财产保险股份有限公司 一种保险核心系统监控平台
US10999312B2 (en) 2019-05-08 2021-05-04 Cisco Technology, Inc. Systems and methods for protecting a service mesh from external attacks on exposed software vulnerabilities
WO2020227266A1 (en) * 2019-05-08 2020-11-12 Cisco Technology, Inc. Systems and methods for protecting a service mesh from external attacks on exposed software vulnerabilities
CN110868449A (zh) * 2019-10-14 2020-03-06 深圳市非零无限科技有限公司 一种基于异步消息实现定时任务的方法及系统
CN111130944A (zh) * 2019-12-30 2020-05-08 苏州思必驰信息科技有限公司 系统监控方法及系统
CN111212129A (zh) * 2019-12-30 2020-05-29 北京浪潮数据技术有限公司 一种基于边车模式的容器应用高可用方法、装置以及设备
CN111475772A (zh) * 2020-03-27 2020-07-31 微梦创科网络科技(中国)有限公司 一种容量评估方法及装置
CN111475772B (zh) * 2020-03-27 2023-12-15 微梦创科网络科技(中国)有限公司 一种容量评估方法及装置
CN111917844A (zh) * 2020-07-17 2020-11-10 中信银行股份有限公司 一种分布式服务追踪的方法及装置
CN111935289A (zh) * 2020-08-14 2020-11-13 中国工商银行股份有限公司 基于区块链的动态监控方法和装置
CN111935289B (zh) * 2020-08-14 2022-10-18 中国工商银行股份有限公司 基于区块链的动态监控方法和装置
CN112241355A (zh) * 2020-10-19 2021-01-19 恩亿科(北京)数据科技有限公司 链路追踪方法、系统、计算机可读存储介质及电子设备
CN112511560A (zh) * 2020-12-21 2021-03-16 北京云思畅想科技有限公司 一种基于服务网格的混合云环境下数据安全保障方法
CN112615790A (zh) * 2020-12-22 2021-04-06 苏州思必驰信息科技有限公司 多服务端的限流、流量监测系统及方法
WO2023016415A1 (zh) * 2021-08-09 2023-02-16 华为云计算技术有限公司 运行容器组的节点,容器组的管理系统和方法
CN114374693A (zh) * 2021-12-09 2022-04-19 中国空间技术研究院 分布式系统去中心化实时业务调度管理方法及系统
CN115665590A (zh) * 2022-10-21 2023-01-31 北京中电飞华通信有限公司 基于eSIM卡和5G通信的物联网数据采集系统及方法

Similar Documents

Publication Publication Date Title
CN109067597A (zh) 一种分布式系统动态智能服务治理方法
Castelli et al. Proactive management of software aging
US5796633A (en) Method and system for performance monitoring in computer networks
US5696701A (en) Method and system for monitoring the performance of computers in computer networks using modular extensions
KR101351688B1 (ko) 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법
US5758071A (en) Method and system for tracking the configuration of a computer coupled to a computer network
CN112380086B (zh) 分布式微服务架构数据中心智能感知控制系统及方法
CN104780220B (zh) 面向证券期货行业大型分布式系统的智能监控系统及监控方法
CN108092813A (zh) 数据中心综合管理系统服务器硬件管理框架及实现方法
CN102037681A (zh) 对于管理系统的计算资源进行管理的方法和装置
CN101632093A (zh) 用于使用统计学分析来管理性能故障的系统和方法
CN108259270A (zh) 一种数据中心统一管理系统设计方法
CN101297536A (zh) 用于准备在端点上执行系统管理任务的方法和系统
CN109274557A (zh) 一种云环境下的智能cmdb管理及云主机监控方法
CN111124806A (zh) 一种基于分布式调度任务的设备状态实时监测方法及系统
CN115115030A (zh) 系统监控方法、装置、电子设备及存储介质
CN117632897A (zh) 动态扩缩容方法及装置
CN107463490B (zh) 一种应用于平台开发中的集群日志集中收集方法
CN110750425A (zh) 数据库监控方法、装置、系统和存储介质
JPH10247911A (ja) マルチサーバ構成におけるシステム監視情報管理装置及びマルチサーバ構成におけるシステム監視情報管理方法
CN106444685A (zh) 分布式控制系统及其动态调度资源的方法
CN111158763B (zh) 一种用于建筑智能化管控的设备指令处理系统
CN109510730A (zh) 分布式系统及其监控方法、装置、电子设备及存储介质
CN113312235A (zh) 吞吐量优化的服务质量预警功率封顶系统
CN103078764A (zh) 基于虚拟计算任务的运行监测系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181221