一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多维度访问流量控制系统的制作方法

2021-12-07 21:54:00 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,更具体地,涉及一种多维度访问流量控制系统。


背景技术:

2.随着互联网技术的突飞猛进,以及互联网的业务迅猛发展,越来越多的互联网软件被开发推广面向市场。随着用户量和业务的不断增长,系统架构的复杂性以及系统部署的规模也在不断增大,随之带来的稳定性以及流量控制给公司研发团队带来了巨大的挑战。
3.目前市场上现有的流控系统存在以下不足之处:
4.1、基于静态配置规则复杂需要人工不断的手动调整来实现的流控方案。
5.2、针对限流统计维度少,配置不够灵活,不支持动态调整等。
6.3、一般都是基于应用程序自身的的访问限流控制,缺少对操作系统侧的性能考虑。
7.4、系统独立单一,不能够与其它监控告警系统配合使用,从而达到更加精准的流控体系。
8.因此,如何实现对不同环境下复杂系统进行多维度的流量自适应控制,提高系统的稳定性是目前有待解决的技术问题。


技术实现要素:

9.本发明提供一种多维度访问流量控制系统,用以解决现有技术中不同环境下复杂系统无法应对进行多维度的流量自适应控制,且系统的稳定性较差的技术问题。
10.该系统包括:
11.监控单元,用于通过监控程序周期性的检测系统应用状态;
12.限流单元,用于在所述系统应用状态出现异常时,通过限流工具对应用程序的自定义接口进行限流、熔断降级操作,所述限流工具包括sentinel、redis的令牌桶算法。
13.在本技术一些实施例中,系统应用状态包括应用的cpu、内存、磁盘,接口的访问量、访问耗时,带宽,或者持续的异常,或者系统内存占用过高。
14.在本技术一些实施例中,所述限流单元,具体用于:
15.在所述系统应用状态出现异常时,基于预设预警机制将异常指标通过webhook回调接口存储在对应的数据库;
16.通过限流工具对应用程序的自定义接口进行限流、熔断降级操作。
17.在本技术一些实施例中,所述预设预警机制包括cpu使用率过高预警、操作系统内存过高预警、磁盘io读写过高预警、网络带宽流量异常预警、应用程序健康检查、应用程序接口异常、应用程序内存使用率、应用程序接口响应时间。
18.在本技术一些实施例中,所述限流单元还具体用于:
19.通过系统间接口调用异常比例阈值,自动控流熔断降级,并持续监测待系统恢复
正常后自动调整限流机制。
20.在本技术一些实施例中,所述系统还包括黑白名单单元,所述黑白名单单元用于:
21.根据调用访问请求来源来判断本次访问流量是否允许放行。
22.在本技术一些实施例中,所述限流单元,还具体用于:
23.通过统计应用程序接口qps、tps等指标对流量进行分析以及操作系统硬件指标的使用情况动态调整流控参数,在系统cpu、内存、io、应用程序接口qps过高、接口异常数较大、外部恶意攻击、服务不可用时可以自动调整系统服务的熔断和限流。
24.在本技术一些实施例中,所述系统还包括外部告警监控系统,所述外部告警监控系统具体用于:
25.统计分析系统健康状态,提供动态流量机制,保证系统稳定性。
26.在本技术一些实施例中,所述系统还包括统计查询单元,所述统计查询单元具体用于:
27.根据实时统计数据生产统计报表,提供多种展示效果并提供多种维度查询。
28.通过应用以上技术方案,本发明提出一种多维度访问流量控制系统,所述系统包括:监控单元,用于通过监控程序周期性的检测系统应用状态;限流单元,用于在所述系统应用状态出现异常时,通过限流工具对应用程序的自定义接口进行限流、熔断降级操作,所述限流工具包括sentinel、redis的令牌桶算法,实现对不同环境下复杂系统进行多维度的流量自适应控制,提高系统的稳定性。
附图说明
29.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
30.图1示出了本发明实施例提出的一种多维度访问流量控制系统的结构示意图。
具体实施方式
31.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.本技术实施例提供一种多维度访问流量控制系统,如图1所示,所述系统包括:
33.监控单元101,用于通过监控程序周期性的检测系统应用状态;
34.限流单元102,用于在所述系统应用状态出现异常时,通过限流工具对应用程序的自定义接口进行限流、熔断降级操作,所述限流工具包括sentinel、redis的令牌桶算法。
35.本实施例中,如背景技术中所述,目前市场上现有的流控系统存在以下不足之处:基于静态配置规则复杂需要人工不断的手动调整来实现的流控方案。针对限流统计维度少,配置不够灵活,不支持动态调整等。一般都是基于应用程序自身的的访问限流控制,缺少对操作系统侧的性能考虑。系统独立单一,不能够与其它监控告警系统配合使用,从而达
到更加精准的流控体系。因此本发明为了解决多系统下流控管理配置复杂性问题,以及突发流量冲击带来的系统不稳定问题。通时能够应用于不同环境下复杂系统的自适应流量控制、服务动态伸缩方案。
36.本方案中的监控单元通过监控程序周期性的检测系统应用状态,系统应用状态包括应用的cpu、内存、磁盘,接口的访问量、访问耗时,带宽,或者持续的异常,或者系统内存占用过高,周期的设定可以根据实际应用需要灵活设定,周期数的不同并不影响本方案的保护范围,在所述系统应用状态出现异常时,通过限流工具对应用程序的自定义接口进行限流、熔断降级操作,所述限流工具包括sentinel、redis的令牌桶算法。
37.在本技术一些实施例中,系统应用状态包括应用的cpu、内存、磁盘,接口的访问量、访问耗时,带宽,或者持续的异常,或者系统内存占用过高。
38.为了对应用程序的自定义接口进行限流、熔断降级操作,在本技术一些实施例中,所述限流单元,具体用于:
39.在所述系统应用状态出现异常时,基于预设预警机制将异常指标通过webhook回调接口存储在对应的数据库;
40.通过限流工具对应用程序的自定义接口进行限流、熔断降级操作。
41.本方案中,在所述系统应用状态出现异常时,结合相应的预警机制将某些危险的指标如(cpu使用率超高、内存占用超高、磁盘io过高等)通过webhook回调接口存储在对应的数据库,最终用相应限流工具如(sentinel、redis的令牌桶算法)等这些数据来对应用程序自定义的接口进行限流、熔断降级操作。所述预设预警机制包括cpu使用率过高预警、操作系统内存过高预警、磁盘io读写过高预警、网络带宽流量异常预警、应用程序健康检查、应用程序接口异常、应用程序内存使用率、应用程序接口响应时间。
42.在本技术一些实施例中,所述预设预警机制包括cpu使用率过高预警、操作系统内存过高预警、磁盘io读写过高预警、网络带宽流量异常预警、应用程序健康检查、应用程序接口异常、应用程序内存使用率、应用程序接口响应时间。
43.为了对应用程序的自定义接口进行限流、熔断降级操作,在本技术一些实施例中,所述限流单元还具体用于:
44.通过系统间接口调用异常比例阈值,自动控流熔断降级,并持续监测待系统恢复正常后自动调整限流机制。
45.本方案中,还提供另外一种限流、熔断降级操作流程,以应对不同情况,提高系统的稳定性与适用性,通过系统间接口调用异常比例阈值,自动控流熔断降级,并持续监测待系统恢复正常后自动调整限流机制。例如:例如:a系统调用b系统,假如b系统设置的异常比例阈值为0.3,且部署了多个节点,节点1、节点2、节点3

..。现在a系统访问b系统,请求被分配到了节点1上,发现节点1的接口调用出现异常,经过大量的调用统计当异常阈值超过0.3时,此时系统将通过监控数据调整b系统节点1的请求分配权重,将部分请求分配到节点2或节点3上面,并持续监控节点1接口的健康状况,等待节点1的接口异常比例阈值小于0.3时,重新调整点1的请求分配权重,使b系统节点1、节点2、节点3

..处理请求数平均保证系统稳定性。
46.为了保证系统的稳定性,所述系统还包括黑白名单单元,所述黑白名单单元用于:
47.根据调用访问请求来源来判断本次访问流量是否允许放行。
48.本系统还设置有黑白名单单元,通过对访问请求来源进行黑白名单设置,自动判断本次访问流量是否允许放行。
49.为了保证系统的稳定性,所述限流单元,在本技术一些实施例中,还具体用于:
50.通过统计应用程序接口qps、tps等指标对流量进行分析以及操作系统硬件指标的使用情况动态调整流控参数,在系统cpu、内存、io、应用程序接口qps过高、接口异常数较大、外部恶意攻击、服务不可用时可以自动调整系统服务的熔断和限流。
51.通过统计应用程序接口qps、tps等指标对流量进行分析以及操作系统硬件指标的使用情况动态调整流控参数,在如(系统cpu、内存、io;应用程序接口qps过高、接口异常数较大、外部恶意攻击、服务不可用等)紧急情况下可以自动调整系统服务的熔断和限流。后续流量稳定后可自动恢复服务的熔断隔离机制,保障对业务支持的稳定性从而达到动态调整系统部署的实例数量,减少不必要的资源浪费,从而节省研发费用。
52.为了保证系统的稳定性,在本技术一些实施例中,所述系统还包括外部告警监控系统,所述外部告警监控系统具体用于:
53.统计分析系统健康状态,提供动态流量机制,保证系统稳定性。
54.例如:可接入(prometheus、zabbix)等第三方外部告警系统,对操作系统和应用程序自身进行监控,根据周期性健康检查来确保系统健康。针对统计接口请求响应耗时、接口请求异常比例、应用程序服务不可用、操作系统指标异常等情况,自动调整接口请求处理数阈值,抵御请求从而达到系统平稳。
55.为了保证系统的稳定性,在本技术一些实施例中,所述系统还包括统计查询单元,所述统计查询单元具体用于:
56.根据实时统计数据生产统计报表,提供多种展示效果并提供多种维度查询。
57.通过应用以上技术方案,本发明提出一种多维度访问流量控制系统,所述系统包括:监控单元,用于通过监控程序周期性的检测系统应用状态;限流单元,用于在所述系统应用状态出现异常时,通过限流工具对应用程序的自定义接口进行限流、熔断降级操作,所述限流工具包括sentinel、redis的令牌桶算法,实现对不同环境下复杂系统进行多维度的流量自适应控制,提高系统的稳定性。
58.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献