【技术实现步骤摘要】
分布式限流方法、装置、电子设备和存储介质
本专利技术涉及微服务
,特别是涉及一种分布式限流方法、装置、电子设备和存储介质。
技术介绍
在分布式微服务场景中,资源有限的情况下服务端吞吐量是有上限的,因此,为了保证系统的稳定运行,不被突然增加的流量压垮导致服务端异常,需要对服务采取一定的保护策略,限流就是被经常采用的一种包含策略。限流是对服务端的输入流量进行限制,如果大于额定的流量就抛弃多余的流量。在现有的分布式限流方案中,集中式redis计数限流是一种较为常用的限流方式。所有的服务端节点连接相同的redis,对同一个操作使用相同的key在redis中进行原子计数加一。按照限流的粒度,如果超过了设置的阈值,将开始进行限流操作,以将后续输入到服务端的流量进行抛弃。现有限流方案的缺陷是所有的服务节点需要直接连接reids,而不同的服务通常有不同的开发人员,在这种情况下redis中的数据不能做到完全隔离,存在不同服务之间使用相同的key的可能性,导致限流处理错误,另外当提供的服务的数量非常巨大时,redis的计算 ...
【技术保护点】
1.一种分布式限流方法,其特征在于,包括:/n接收多个分布式微服务节点按照上报区间定时发送的区间流量数据,所述区间流量数据为所述分布式微服务节点按照限流策略对应的限流信息对所述上报区间内流量数据进行统计得到的;/n根据所述限流信息,在当前限流区间内对所述多个分布式微服务节点的区间流量数据进行聚合,得到限流数据,其中,所述当前限流区间的时间间隔大于上报区间的时间间隔;/n若所述限流数据大于或等于所述限流策略中的限流阈值,则生成限流信号,并将所述限流信号发送至所述多个分布式微服务节点,以使得所述多个分布式微服务节点分别在所述当前限流区间内执行限流操作。/n
【技术特征摘要】
1.一种分布式限流方法,其特征在于,包括:
接收多个分布式微服务节点按照上报区间定时发送的区间流量数据,所述区间流量数据为所述分布式微服务节点按照限流策略对应的限流信息对所述上报区间内流量数据进行统计得到的;
根据所述限流信息,在当前限流区间内对所述多个分布式微服务节点的区间流量数据进行聚合,得到限流数据,其中,所述当前限流区间的时间间隔大于上报区间的时间间隔;
若所述限流数据大于或等于所述限流策略中的限流阈值,则生成限流信号,并将所述限流信号发送至所述多个分布式微服务节点,以使得所述多个分布式微服务节点分别在所述当前限流区间内执行限流操作。
2.根据权利要求1所述的方法,其特征在于,所述限流信息包括服务方标识、调用方标识和调用方法中的至少一个,服务方为所述分布式微服务节点中提供调用方法的程序,调用方为调用所述服务方提供的调用方法的程序。
3.根据权利要求1所述的方法,其特征在于,还包括:
在当前限流区间开始时,清除前一限流区间的限流数据。
4.根据权利要求1所述的方法,其特征在于,所述分布式限流方法由分布式的流量数据收集节点执行;
所述流量数据收集节点用于对与所述流量数据收集节点对应的服务方的区间流量数据进行限流处理。
5.根据权利要求4所述的方法,其特征在于,所述流量数据收集节点提供节点信息获取接口,以供所述多个分布式微服务节点获取所述流量数据收集节点的节点信息。
6.一种分布式限流方法,其特征在于,包括:
根据限流策略对应的限流信息,对当前上报区间内的流量数据进行统计,得到区间流量数据;
将所述区间流量数据发送至流量数据收集节点,以使得所述流量数据收集节点在当前限流区间内对多个分布式微服务节点的区间流量数据进行聚合,得到限流数据,并在限流数据大于或等于限流策略中的限流阈值时生成限流信号,其中,所述当前限流区间的时间间隔大于上报区间的时间间隔;
若接收到所述流量数据收集节点发送的限流信号,则在当前限流区间内执行限流操作。
7.根据权利要求6所述的方法,其特征在于,所述限流信息包括服务方标识、调用方标识和调用方法中的至少一个,服务方为所述分布式微服务节点中提供调用方法的程序,调用方为调用所述服务方提供的调用方法...
【专利技术属性】
技术研发人员:谭智超,邱聪荣,刘宝庆,
申请(专利权)人:北京五八信息技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。