分布式系统的限流方法、装置及设备制造方法及图纸

技术编号:21691470 阅读:30 留言:0更新日期:2019-07-24 16:12
本说明书提供一种分布式系统的限流方法、装置及设备,所述方法包括:分布式系统的限流方案可以在需要限流时,各个节点拦截负载均衡器分发的待处理请求至消息处理队列中,由主节点从所述消息处理队列选取设定数量的待处理请求后,将选取的待处理请求分发给至少一个所述节点进行处理。本实施例可以从全局流量的角度来控制整个系统的流量,在节省系统资源的情况下,可以保护系统在大流量冲击的情况下仍然能正常对外提供服务,从而达到保护系统的目的。

Current Limiting Method, Device and Equipment of Distributed System

【技术实现步骤摘要】
分布式系统的限流方法、装置及设备
本说明书涉及分布式系统
,尤其涉及分布式系统的限流方法、装置及设备。
技术介绍
随着互联网技术的发展,业务系统无时无刻不面临着大流量的冲击,特别是在促销活动时,业务系统的流量更会达到前所未有的峰值。为了保证系统在面对大流量冲击的时候仍然能正常运行对外提供服务,可以将业务系统拆分成分布式系统,在一定程度上缓解这个问题。然而,但是对于一些特殊时段,流量的峰值可能会是平时流量峰值的几十倍,如何保证系统的正常运行成为亟待解决的技术问题。
技术实现思路
为克服相关技术中存在的问题,本说明书提供了分布式系统的限流方法、装置及设备。根据本说明书实施例的第一方面,提供一种分布式系统的限流方法,所述分布式系统中包括多个节点,所述多个节点中包括至少一个主节点和至少一个子节点,所述限流方法包括:各个所述节点确定限流被触发后,将负载均衡器发送的待处理请求拦截至消息处理队列中;所述主节点从所述消息处理队列选取设定数量的待处理请求后,将选取的待处理请求分发给至少一个所述节点;所述子节点接收到所述主节点分发的待处理请求后,执行请求处理流程。可选的,所述主节点按照设定周期从所述消息处理队列选取所述待处理请求。可选的,所述主节点由所有节点通过选举机制被选举得到。可选的,所述确定限流被触发,包括:待处理请求的数量达到设定限流阈值,或者是接收到设定限流指令。可选的,所述方法还包括:各个所述节点还将负载均衡器发送的待处理请求备份于数据库中。可选的,所述方法还包括:针对处理完成的待处理请求,在数据库中更新该请求的处理状态。可选的,所述方法还包括:若所述消息处理队列运行异常,所述主节点从所述数据库中选取待处理请求。可选的,所述主节点是按照优先级从所述消息处理队列选取设定数量的待处理请求。根据本说明书实施例的第二方面,提供一种分布式系统的限流方法,所述方法应用于分布式系统中任一节点,所述方法包括:确定限流被触发后,将负载均衡器分发的待处理请求拦截至消息处理队列中;确定自身是主节点或者是子节点;若是主节点,从所述消息处理队列选取设定数量的待处理请求后,将选取的待处理请求分发给至少一个所述节点;若是子节点,则接收到主节点分发的请求后,执行请求处理流程。可选的,所述主节点按照设定周期从所述消息处理队列选取所述待处理请求。可选的,所述主节点由所有节点通过选举机制被选举得到。可选的,所述确定限流被触发,包括:待处理请求的数量达到设定限流阈值,或者是接收到设定限流指令。可选的,所述方法还包括:将负载均衡器发送的待处理请求备份于数据库中。可选的,所述方法还包括:针对处理完成的待处理请求,在数据库中更新该请求的处理状态。可选的,所述方法还包括:若所述消息处理队列运行异常,所述主节点从所述数据库中选取待处理请求。可选的,所述主节点是按照优先级从所述消息处理队列选取设定数量的待处理请求。根据本说明书实施例的第三方面,提供一种分布式系统的限流装置,所述装置应用于分布式系统中任一节点,所述装置包括:拦截模块,用于:确定限流被触发后,将负载均衡器分发的待处理请求拦截至消息处理队列中;确定模块,用于:确定自身是主节点或者是子节点;分发模块,用于:若是主节点,从所述消息处理队列选取设定数量的待处理请求后,将选取的待处理请求分发给至少一个所述节点;处理模块,用于:若是子节点,则接收到主节点分发的请求后,执行请求处理流程。可选的,所述主节点按照设定周期从所述消息处理队列选取所述待处理请求。可选的,所述主节点由所有节点通过选举机制被选举得到。可选的,所述拦截模块,还用于:待处理请求的数量达到设定限流阈值,或者是接收到设定限流指令。可选的,所述装置还包括备份模块,用于:将负载均衡器发送的待处理请求备份于数据库中。可选的,所述方法还包括:针对处理完成的待处理请求,在数据库中更新该请求的处理状态。可选的,所述分发模块还用于:若所述消息处理队列运行异常,所述主节点从所述数据库中选取待处理请求。可选的,所述主节点是按照优先级从所述消息处理队列选取设定数量的待处理请求。根据本说明书实施例的第四方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述限流方法。本说明书的实施例提供的技术方案可以包括以下有益效果:本说明书实施例中,分布式系统的限流方案可以在需要限流时,各个节点拦截负载均衡器分发的待处理请求至消息处理队列中,由主节点从所述消息处理队列选取设定数量的待处理请求后,将选取的待处理请求分发给至少一个所述节点进行处理。本实施例可以从全局流量的角度来控制整个系统的流量,在节省系统资源的情况下,可以保护系统在大流量冲击的情况下仍然能正常对外提供服务,从而达到保护系统的目的。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。图1是本说明书根据一示例性实施例示出的一种业务场景示意图。图2A是本说明书根据一示例性实施例示出的一种分布式系统的限流方法流程图。图2B是本说明书根据一示例性实施例示出的一种分布式系统的限流方法流程图。图2C是本说明书根据一示例性实施例示出的一种分布式系统的限流方法流程图。图2D是本说明书根据一示例性实施例示出的一种分布式系统的限流方法流程图。图3是本说明书根据一示例性实施例示出的一种分布式系统的限流方法流程图。图4是本说明书根据一示例性实施例示出的分布式系统的限流装置所在计算机设备的一种硬件结构图。图5是本说明书根据一示例性实施例示出的一种分布式系统的限流装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。随着互联网的快速发展,互联网应用在访问量快速增长的同时,业务系统无时无刻不面临着大流量的冲击,如果不能在大流量冲击下仍然能正常对外提供服务,那么整个系统很可能会在大流量冲击下瘫痪,虽然业务系统可以通过分布式拆分扩容,但是有时候业务系统的流量并不是一直都会面临很大的流量,大流量有可能只是发生在促销活动期间,如果专门为本文档来自技高网...

【技术保护点】
1.一种分布式系统的限流方法,所述分布式系统中包括多个节点,所述多个节点中包括至少一个主节点和至少一个子节点,所述限流方法包括:各个所述节点确定限流被触发后,将负载均衡器发送的待处理请求拦截至消息处理队列中;所述主节点从所述消息处理队列选取设定数量的待处理请求后,将选取的待处理请求分发给至少一个所述节点;所述子节点接收到所述主节点分发的待处理请求后,执行请求处理流程。

【技术特征摘要】
1.一种分布式系统的限流方法,所述分布式系统中包括多个节点,所述多个节点中包括至少一个主节点和至少一个子节点,所述限流方法包括:各个所述节点确定限流被触发后,将负载均衡器发送的待处理请求拦截至消息处理队列中;所述主节点从所述消息处理队列选取设定数量的待处理请求后,将选取的待处理请求分发给至少一个所述节点;所述子节点接收到所述主节点分发的待处理请求后,执行请求处理流程。2.根据权利要求1所述的方法,所述主节点按照设定周期从所述消息处理队列选取所述待处理请求。3.根据权利要求1所述的方法,所述主节点由所有节点通过选举机制被选举得到。4.根据权利要求1所述的方法,所述确定限流被触发,包括:待处理请求的数量达到设定限流阈值,或者是接收到设定限流指令。5.根据权利要求1所述的方法,所述方法还包括:各个所述节点还将负载均衡器发送的待处理请求备份于数据库中。6.根据权利要求5所述的方法,所述方法还包括:针对处理完成的待处理请求,在数据库中更新该请求的处理状态。7.根据权利要求6所述的方法,所述方法还包括:若所述消息处理队列运行异常,所述主节点从所述数据库中选取待处理请求。8.根据权利要求1所述的方法,所述主节点是按照优先级从所述消息处理队列选取设定数量的待处理请求。9.一种分布式系统的限流方法,所述方法应用于分布式系统中任一节点,所...

【专利技术属性】
技术研发人员:张文洪
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1