[发明专利]分布式限流的方法和装置有效
申请号: | 202110320702.8 | 申请日: | 2021-03-25 |
公开(公告)号: | CN113037644B | 公开(公告)日: | 2023-03-24 |
发明(设计)人: | 黄欣欣;周文江;罗彧成;冯煦亮 | 申请(专利权)人: | 腾讯音乐娱乐科技(深圳)有限公司 |
主分类号: | H04L47/215 | 分类号: | H04L47/215;H04L67/10 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 祝亚男 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 限流 方法 装置 | ||
本公开提供了一种分布式限流的方法和装置,属于微服务技术领域。该方法包括:确定当前时间点第一微服务对第二微服务的调用情况;若调用情况满足配额对象的获取条件,则基于距离当前时间点最近的历史时间段内第一微服务调用第二微服务的次数,预测第一微服务调用第二微服务的配额对象需求数目,基于该配额对象需求数目,向配额对象分配节点获取目标数量的配额对象,目标数量的配额对象为第一微服务调用第二微服务所需的配额对象,使用目标数量的配额对象,处理第一微服务对第二微服务的调用请求。采用本公开,可以在分布式限流时,降低执行处理请求的延时。
技术领域
本公开涉及微服务技术领域,特别涉及一种分布式限流的方法和装置。
背景技术
随着微服务的发展,微服务与微服务之间的调用稳定性变得越来越重要,限制微服务之间的调用流量可以保证微服务之间的调用稳定性,是保障微服务系统运行的重要手段。
相关技术中,微服务之间的调用需要使用配额对象,例如微服务A接收到一个处理请求,微服务A执行该处理请求时,需要调用微服务B,微服务A向远端请求调用微服务B的配额对象。远端判断当前是否存在调用微服务B的配额对象,若存在,则向微服务A提供调用微服务B的一个配额对象。微服务A接收到远端提供的调用微服务B的配额对象后,调用微服务B。若远端判断不存在调用微服务B的配额对象,则向微服务A提供不存在配额对象的通知消息,微服务A将该处理请求丢弃。微服务执行处理请求的现有方式延时比较高。
发明内容
为了解决执行处理请求的延时比较高的问题,本公开实施例提供了一种分布式限流的方法和装置。所述技术方案如下:
一方面,本公开提供了一种分布式限流的方法,所述方法包括:
确定当前时间点第一微服务对第二微服务的调用情况;
若所述调用情况满足配额对象的获取条件,则基于距离所述当前时间点最近的历史时间段内所述第一微服务调用所述第二微服务的次数,预测配额对象需求数目;
基于所述配额对象需求数目,向配额对象分配节点获取目标数量的配额对象,所述目标数量的配额对象为所述第一微服务调用所述第二微服务所需的配额对象;
使用所述目标数量的配额对象,处理所述第一微服务对所述第二微服务的调用请求。
在一种可能的实现方式中,所述方法还包括:
在所述调用情况为目标剩余数目小于预设数值时,确定所述调用情况满足配额对象的获取条件,其中,所述目标剩余数目为所述第一微服务调用所述第二微服务所需的配额对象的剩余数目;或者,
在所述调用情况为达到所述第一微服务调用所述第二微服务所需的配额对象的获取周期时,确定所述调用情况满足配额对象的获取条件。
这样,可以更合理地获取第一微服务调用第二微服务所需的配额对象。
在一种可能的实现方式中,所述基于距离所述当前时间点最近的历史时间段内所述第一微服务调用所述第二微服务的次数,预测配额对象需求数目,包括:
确定距离当前时间点最近的历史时间段的各时间间隔内所述第一微服务调用所述第二微服务的次数;
基于所述各时间间隔内所述第一微服务调用所述第二微服务的次数,预测配额对象需求数目。
这样,可以准确地确定出配额对象需求数目。
在一种可能的实现方式中,所述基于所述各时间间隔内所述第一微服务调用所述第二微服务的次数,预测配额对象需求数目,包括:
对所述各时间间隔内所述第一微服务调用所述第二微服务的次数进行加权处理,得到所述第一微服务调用所述第二微服务所需的配额对象预测数目;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯音乐娱乐科技(深圳)有限公司,未经腾讯音乐娱乐科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110320702.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:钢轨探伤小车及钢轨探伤机车
- 下一篇:相机的外部参数标定方法及相关装置