The embodiment of the present invention discloses a global flow control method and device, which relates to the field of Internet technology, and can provide a flexible global flow control scheme in a distributed system to alleviate the cost problems caused by increasing system resources by adding hardware devices. The invention includes: after receiving the request message sent by the application server, determining the flow control item corresponding to the request message, in which the flow control item includes at least one sub-item; requesting a token from the central controller according to the flow control item; acquiring the token allocated by the central controller and feeding back to the application server that issued the request. The invention is suitable for global flow control in distributed system.
【技术实现步骤摘要】
一种全局流控方法及装置
本专利技术涉及互联网
,尤其涉及一种全局流控方法及装置。
技术介绍
随着电商、互联网金融业的兴起,对于支撑各类在线业务的IT系统提出了高并发、高可靠、低延迟、低成本等综合能力要求。为了保障整个IT生态链总体上的健康度,对于接入的子系统进行流控与降级是一种常用的控制手段。随着业务规模的快速增长,往往一个IT生态链会涉及数百个子系统,几千至几万台硬件设备,整个系统的风险点急剧上升,为了保障系统整体或部分一直在线,大规模全局系统中的系统架构,一般都会进行分布式的多活部署。而在实际的工程应用中,需要在令牌的发放侧明确令牌的有效期,并将具有相同有效期的令牌分装在一个或者多个子集合中,当应用服务器请求令牌时,则将子集合作为令牌资源进行分配。在传统的单应用/数据节点、单机房情况下,子集合的分配过程中,占用系统资源的问题还不明显。但是,对于分布式的多活系统,不同节点对于令牌的需求量也不一样,因此为保障令牌分配过程中的均匀性,缓减令牌被闲置占用的问题,设计人员都会想尽办法减小子集合的粒度,提高令牌分配的均匀性。但是,子集合的粒度越小意味同时需要管理的子集合的数量越多,就需要占用更多的系统资源,其结果往往是系统资源的消耗量增加了一个量级。对于银行、铁路售票等重要部门的系统来说,可以通过增加硬件设备的方式提高系统资源量,从而解决该问题,但是这种方式对于大部分互联网企业来说,成本太高。
技术实现思路
本专利技术的实施例提供一种全局流控方法及装置,能够提供一种分布式系统中能够灵活部署的全局流控方案,缓减通过增加硬件设备的方式提高系统资源量从而导致的成本问题 ...
【技术保护点】
1.一种全局流控方法,其特征在于,包括:在接收到应用服务器发送的请求消息后,确定所述请求消息对应的流控项,其中,所述流控项包括至少一个分项;根据所述流控项,向中央控制器请求获取令牌;获取所述中央控制器分配的令牌并反馈至发出请求的应用服务器,其中,针对一个分项所分配的令牌的数量由所述中央控制器根据加总的时间和每秒流控值的获取;所述中央控制器针对每一个接收到的令牌请求分配时间片,并在第二时间轴上将时间点向前移动,直至所述第二时间轴上的时间点的值达到第一时间轴当前的时间值,时间点向前移动的量等于所分配出的时间片的量,所述第一时间轴对应自然时间,每次分配的时间片各自对应一个分项;所述每秒流控值为:所述中央控制器单位时间内分配的令牌数。
【技术特征摘要】
1.一种全局流控方法,其特征在于,包括:在接收到应用服务器发送的请求消息后,确定所述请求消息对应的流控项,其中,所述流控项包括至少一个分项;根据所述流控项,向中央控制器请求获取令牌;获取所述中央控制器分配的令牌并反馈至发出请求的应用服务器,其中,针对一个分项所分配的令牌的数量由所述中央控制器根据加总的时间和每秒流控值的获取;所述中央控制器针对每一个接收到的令牌请求分配时间片,并在第二时间轴上将时间点向前移动,直至所述第二时间轴上的时间点的值达到第一时间轴当前的时间值,时间点向前移动的量等于所分配出的时间片的量,所述第一时间轴对应自然时间,每次分配的时间片各自对应一个分项;所述每秒流控值为:所述中央控制器单位时间内分配的令牌数。2.根据权利要求1所述的方法,其特征在于,所述根据所述流控项,向中央控制器请求获取令牌,包括:判定本地是否缓存了所述流控项中各个分项对应的令牌,并筛选出在本地没有缓存令牌的分项;依据筛选后的分项向中央控制器请求获取令牌。3.根据权利要求1所述的方法,其特征在于,还包括:当向中央控制器请求获取令牌失败时,本地组件生成令牌;从发出请求的应用服务器中筛选应用服务器,向筛选出的应用服务器反馈令牌,其中,所述本地组件生成令牌少于所有应用服务器请求的令牌数。4.一种全局流控方法,其特征在于,包括:接受本地组件发送的令牌请求,其中,所述令牌请求中记录流控项,所述流控项包括至少一个分项;针对每一个接收到的令牌请求分配时间片,并在第二时间轴上将时间点向前移动,直至第二时间轴上的时间点的值达到第一时间轴当前的时间值,其中,时间点向前移动的量等于所分配出的时间片的量,所述第一时间轴对应自然时间,每次分配的时间片各自对应一个分项;对分配给每一个分项的时间片进行加总得到加总的时间,根据所述加总的时间和每秒流控值,获取所述流控项中的每一个分项的令牌的数量,并根据所述数量向所述本地组件分配令牌。5.根据权利要求4所述的方法,其特征在于,一个分项对应一个场景主键;在向所述本地组件分配令牌后,覆写各个分项对应的场景主键。6.根据权利要求4所述的方法,其特征在于;所述每秒流控值为:所述中央控制器单位时间内分配的令牌数。7.根据权利要求6所述的方法,其特征在于,所述根据加总的时间和每秒流控值,获取所述流控项中的每一个分项的令牌的数量,包括:在超过所述时间阈值之前,接收所述本地组件向所述中央控制器...
【专利技术属性】
技术研发人员:郭宏文,鞠伟,
申请(专利权)人:苏宁易购集团股份有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。