一种微服务集群流量控制方法和系统技术方案

技术编号:36456206 阅读:16 留言:0更新日期:2023-01-25 22:54
本发明专利技术涉及微服务流量控制技术领域,提供一种微服务集群流量控制方法和系统,本发明专利技术的方法包括:通过流控配置中心、流控采集器以及流量总控单元对单集群中的APP进行流量控制;在多集群场景中,通过多集群协调模块对各单集群中的APP进行流量控制。本发明专利技术的微服务多集群流量控制系统包括:单集群协调模块,包括流控配置中心、流控采集器以及流量总控单元;多集群协调模块,包括流控配置中心协调器、采集协调器以及流控协调器。根据本发明专利技术示例性实施例的微服务集群流量控制方法和系统,可以实现单集群和多集群的微服务流量控制,提高流量控制的精度,可以通过前端页面对流控配置信息实时动态更新,适用于各类微服务业务的流控,且安全快捷易于管理。安全快捷易于管理。安全快捷易于管理。

【技术实现步骤摘要】
一种微服务集群流量控制方法和系统


[0001]本专利技术涉及微服务流量控制
,尤其涉及一种微服务集群流量控制方法和系统。

技术介绍

[0002]微服务平台可以提供便捷的服务管理和限流降级等功能,使得业务服务更专注于自身业务代码的开发。当前,在微服务部署上线方面,现有的工具和方法已基本可以满足开发和运行域的大部分需求,但在微服务流量控制的领域,仍然缺少行之有效的工具和方法。
[0003]在实际应用中,为了对微服务进行流量控制,如图1所示,大多数厂商都是对APP前置一个nginx流量控制器,通过在nginx流量控制器中增加相关的配置,来控制单位时间内的APP请求数量。nginx流量控制器的设置和配置,可以满足普通应用场景的需求。
[0004]一方面,对于一些特殊的应用场景,比如秒杀、拼团活动等场景中,流量会出现激增,这时很容易就将应用给拉爆,此时,更多的是需要针对APP某一两个接口进行流量的治理,而非针对整个应用路径进行处理。
[0005]另一方面,容器云平台或传统的虚拟机集群上部署的APP,一般都是两个服务实例起步的,在这种场景下,我们就需要集群化的流量治理。比如在复杂的金融、银行场景下,当遇到多集群冗余的情况时,一个APP往往会部署到多个不同的集群,且分布在多地,在多活的情况下,如何针对所有不同的服务实例进行多集群的流量治理,是当前流量治理领域的重要研究方向。
[0006]此外,在实际应用中,单服务实例流量治理、集群流量治理以及多集群流量治理等场景的解决方案往往都不是某个固定的方法,并且受到x86和arm环境的影响,管理和维护困难。
[0007]因此,如何提供一种更加精确、高效以及满足于单集群和多集群流量控制的方法,成为亟待解决的技术问题。

技术实现思路

[0008]有鉴于此,为了解决现有技术中流量治理粒度较粗,无法同时实现单集群和多集群的流量治理以及运行和维护不变的不足,提供一种可适配多种场景下的流量治理方案,满足各种复杂环境下的微服务流量控制的需求。
[0009]一方面,本专利技术提供一种微服务单集群流量控制方法,包括:
[0010]通过前端页面将流控配置信息写入单集群中的流控配置中心和流量总控单元,所述流控配置信息包括APP每秒所允许的最大请求次数;
[0011]通过流控采集器实时采集并汇总APP的不同服务实例的请求流量信息,将汇总的请求流量信息实时发送至流量总控单元,所述请求流量信息包括当前APP每秒的请求次数;
[0012]通过流量总控单元根据流控配置信息和当前汇总的请求流量信息,判断APP在当前流量情况下是否能继续对外服务。
[0013]进一步地,本专利技术微服务单集群流量控制方法中,通过流量总控单元根据流控配置信息和当前汇总的请求流量信息,判断APP在当前流量情况下是否能继续对外服务,包括:当流控配置信息中APP每秒所允许的最大请求次数不小于当前请求流量信息中APP每秒的请求次数时,判定APP可继续对外服务,当流控配置信息中APP每秒所允许的最大请求次数小于当前请求流量信息中APP每秒的请求次数时,判定APP不可继续对外服务。
[0014]进一步地,本专利技术微服务单集群流量控制方法,包括:在断网时,APP通过与流控配置中心建立长连接,从流控配置中心获取流控配置信息,根据获取的流控配置信息执行单APP流量控制或者执行单服务实例流量控制。
[0015]进一步地,本专利技术微服务单集群流量控制方法,包括:根据APP的接口API配置流控配置信息,定义APP每秒所允许的最大请求次数。
[0016]进一步地,本专利技术微服务单集群流量控制方法,包括:根据场景需求通过前端页面对流控配置信息实时动态更新。
[0017]另一方面,本专利技术提供一种微服务多集群流量控制方法,包括:
[0018]通过前端页面将流控配置信息写入流控配置中心协调器和流控协调器,通过流控配置中心协调器将流控配置信息同步至各单集群中的流控配置中心,所述流控配置信息包括APP每秒所允许的最大请求次数;
[0019]通过采集协调器实时采集并汇总各个单集群的流控采集器上的请求流量信息,将汇总的请求流量信息实时发送至流控协调器;
[0020]通过流控协调器对各单集群的流量总控单元进行纳管,多集群模式开启后,当APP向单集群的流量总控单元发送请求流量信息,流量总控单元将请求流量信息直接转发至流控协调器,所述请求流量信息包括当前APP每秒的请求次数;
[0021]通过流控协调器根据流控配置信息和当前汇总的请求流量信息,判断APP在当前流量情况下是否能继续对外服务。
[0022]进一步地,本专利技术微服务多集群流量控制方法中,通过流控配置中心协调器将流控配置信息同步至各单集群中的流控配置中心,包括:当各单集群中已经存在流控配置信息,通过流控配置中心协调器将具有最小的APP每秒所允许的最大请求次数的流控配置信息同步至各个单集群进行覆盖。
[0023]进一步地,本专利技术微服务多集群流量控制方法中,通过流控协调器根据流控配置信息和当前汇总的请求流量信息,判断APP在当前流量情况下是否能继续对外服务,包括:当流控配置信息中APP每秒所允许的最大请求次数不小于当前请求流量信息中APP每秒的请求次数时,判定APP可继续对外服务,当流控配置信息中APP每秒所允许的最大请求次数小于当前请求流量信息中APP每秒的请求次数时,判定APP不可继续对外服务。
[0024]再者,本专利技术提供一种微服务单集群流量控制系统,包括:
[0025]单集群协调模块,包括流控配置中心、流控采集器以及流量总控单元,其中,流控配置中心用于写入流控配置信息;流控采集器用于实时采集并汇总APP的不同服务实例的请求流量信息,将汇总的请求流量信息实时发送至流量总控单元;流量总控单元用于写入流控配置信息,根据流控配置信息和当前汇总的请求流量信息,判断APP在当前流量情况下是否能继续对外服务。
[0026]最后,本专利技术提供一种微服务多集群流量控制系统,包括:
[0027]单集群协调模块,包括流控配置中心、流控采集器以及流量总控单元,其中,流控配置中心用于写入流控配置信息;流控采集器用于实时采集并汇总APP的不同服务实例的请求流量信息,将汇总的请求流量信息实时发送至流量总控单元;流量总控单元用于写入流控配置信息,根据流控配置信息和当前汇总的请求流量信息,判断APP在当前流量情况下是否能继续对外服务;
[0028]多集群协调模块,包括流控配置中心协调器、采集协调器以及流控协调器,其中,流控配置中心协调器用于写入流控配置信息,将流控配置信息同步至各单集群中的流控配置中心;采集协调器用于实时采集并汇总各个单集群的流控采集器上的请求流量信息,将汇总的请求流量信息实时发送至流控协调器;流控协调器用于对各单集群的流量总控单元进行纳管,多集群模式开启后,根据流控配置信息和当前汇总的请求流量信息,判断APP在当前流量情况下是否能继续对外服务。
[0029]本专利技术微服务集群本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务单集群流量控制方法,其特征在于,所述方法,包括:通过前端页面将流控配置信息写入单集群中的流控配置中心和流量总控单元,所述流控配置信息包括APP每秒所允许的最大请求次数;通过流控采集器实时采集并汇总APP的不同服务实例的请求流量信息,将汇总的请求流量信息实时发送至流量总控单元,所述请求流量信息包括当前APP每秒的请求次数;通过流量总控单元根据流控配置信息和当前汇总的请求流量信息,判断APP在当前流量情况下是否能继续对外服务。2.根据权利要求1所述的微服务单集群流量控制方法,其特征在于,通过流量总控单元根据流控配置信息和当前汇总的请求流量信息,判断APP在当前流量情况下是否能继续对外服务,包括:当流控配置信息中APP每秒所允许的最大请求次数不小于当前请求流量信息中APP每秒的请求次数时,判定APP可继续对外服务,当流控配置信息中APP每秒所允许的最大请求次数小于当前请求流量信息中APP每秒的请求次数时,判定APP不可继续对外服务。3.根据权利要求1所述的微服务单集群流量控制方法,其特征在于,所述方法,包括:在断网时,APP通过与流控配置中心建立长连接,从流控配置中心获取流控配置信息,根据获取的流控配置信息执行单APP流量控制或者执行单服务实例流量控制。4.根据权利要求1所述的微服务单集群流量控制方法,其特征在于,所述方法,包括:根据APP的接口API配置流控配置信息,定义APP每秒所允许的最大请求次数。5.根据权利要求1所述的微服务单集群流量控制方法,其特征在于,所述方法,包括:根据场景需求通过前端页面对流控配置信息实时动态更新。6.一种微服务多集群流量控制方法,其特征在于,所述方法,包括:通过前端页面将流控配置信息写入流控配置中心协调器和流控协调器,通过流控配置中心协调器将流控配置信息同步至各单集群中的流控配置中心,所述流控配置信息包括APP每秒所允许的最大请求次数;通过采集协调器实时采集并汇总各个单集群的流控采集器上的请求流量信息,将汇总的请求流量信息实时发送至流控协调器;通过流控协调器对各单集群的流量总控单元进行纳管,多集群模式开启后,当APP向单集群的流量总控单元发送请求流量信息,流量总控单元将请求流量信息直接转发至流控协调器,所述请求流量信息包括当前APP每秒的请求次数;通过流控协调器根据流控配置信息和当前汇总的请求流量...

【专利技术属性】
技术研发人员:郑恺周彬耿庆森吕善孙冉张凯高康臣汪圣鹏夏幼林黄天辉刘晶张彩尹小火
申请(专利权)人:中国电子系统技术有限公司
类型:发明
国别省市:

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

1