分布式流量控制方法、服务器和系统的利记博彩app

文档序号:8433693阅读:582来源:国知局
分布式流量控制方法、服务器和系统的利记博彩app
【技术领域】
[0001]本发明涉及网络流量控制技术,特别是涉及一种分布式流量控制方法、服务器和系统。
【背景技术】
[0002]传统的流量控制方法通常是通过静态配置的经验阈值实现的,具体的,可通过静态配置的经验阈值,当机器的流量超过经验阈值时则限流。然而,传统的这种方法由于依赖于静态配置的经验阈值,对于分布式的流量控制,静态配置需要人工维护,且容易出错。此夕卜,这种基于经验阈值实现流量控制的单一的流量控制方式,也会出现负载不均衡的情况,从而不能充分的利用资源。

【发明内容】

[0003]基于此,有必要针对上述技术问题,提供一种不易出错且不易造成资源浪费从而能充分利用资源的分布式流量控制方法、服务器和系统。
[0004]一种分布式流量控制方法,所述方法包括:
[0005]接收总线集群上报的健康度数据;
[0006]根据第一周期内的所述健康度数据判断后端集群是否缓慢或异常;
[0007]根据所述后端集群缓慢或异常的判断结果调整所述总线集群中的机器在第二周期内的流量限制;
[0008]根据所述流量限制在所述第二周期内对所述总线集群中的机器的流量进行控制。
[0009]一种分布式流量控制方法,所述方法包括:
[0010]总线集群向管理端上报后端集群的健康度数据;
[0011]所述管理端根据第一周期内的所述健康度数据判断后端集群是否缓慢或异常;
[0012]所述管理端根据所述后端集群缓慢或异常的判断结果调整所述总线集群中的机器在第二周期内的流量限制,将所述流量限制发送至所述总线集群;
[0013]所述总线集群根据所述流量限制在所述第二周期内对所述总线集群中的机器的流量进行控制。
[0014]一种服务器,包括:
[0015]数据接收模块,用于接收总线集群上报的健康度数据;
[0016]健康度判断模块,用于根据第一周期内的所述健康度数据判断后端集群是否缓慢或异常;
[0017]流量限制调整模块,用于根据所述后端集群缓慢或异常的判断结果调整所述总线集群中的机器在第二周期内的流量限制;
[0018]流量控制模块,用于根据所述流量限制在所述第二周期内对所述总线集群中的机器的流量进行控制。
[0019]—种分布式流量控制系统,所述系统包括:
[0020]总线集群,用于向管理端上报后端集群的健康度数据;
[0021]管理端,用于根据第一周期内的所述健康度数据判断后端集群是否缓慢或异常;
[0022]所述管理端还用于根据所述后端集群缓慢或异常的判断结果调整所述总线集群中的机器在第二周期内的流量限制,将所述流量限制发送至所述总线集群;
[0023]所述总线集群还用于根据所述流量限制在所述第二周期内对所述总线集群中的机器的流量进行控制。
[0024]上述分布式流量控制方法、服务器和系统,根据接收到的总线集群上报的健康度数据判断后端集群是否缓慢或异常,根据后端集群缓慢或异常的判断结果调整总线集群中的机器的流量限制,使得总线集群中的机器的流量限制可以根据后端集群的健康状况进行自动调整,因此总线集群中的机器的流量限制是动态可变的且适应于后端集群的健康状况,这种自动根据后端集群健康状况进行流量控制的方式,能够有效避免负载不均衡的情况,不易造成资源浪费从而能充分利用资源。并且由于无需对每台机器的流量静态配置经验阈值,从而不易出错。
【附图说明】
[0025]图1为一个实施例中分布式流量控制方法的应用场景图;
[0026]图2为一个实施例中分布式流量控制方法的流程示意图;
[0027]图3为一个实施例中调整机器流量上限的流程示意图;
[0028]图4为一个实施例中模拟压测的流程示意图;
[0029]图5为另一个实施例中分布式流量控制方法的流程示意图;
[0030]图6为另一个实施例中调整机器的流量上限的流程示意图;
[0031]图7为另一个实施例中模拟压测的流程示意图;
[0032]图8为一个实施例中服务器的结构示意图;
[0033]图9为一个实施例中流量限制调整模块的结构示意图;
[0034]图10为另一个实施例中服务器的结构示意图;
[0035]图11为另一个实施例中模拟压测模块的结构示意图;
[0036]图12为一个实施例中分布式流量控制系统的结构示意图。
【具体实施方式】
[0037]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0038]除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组口 ο
[0039]本发明各实施例所提供的分布式流量控制方法,可应用于如图1所示的系统中。请参见图1,总线集群也可称为服务总线,是指SOA(Service-oriented architecture,面向服务的体系结构)中的总线。前端系统的请求经总线集群路由分发到不同的后端集群中进行处理,总线集群收到后端集群相应模块的响应后,返回至前端系统。总线集群使得前端系统不需要关心后端集群用的具体通讯协议和部署位置,其主要功能是对外提供一个统一的总线通讯协议,前端系统只需要调用总线即可。总线集群呈分布式部署,由若干台机器(总线节点)组成的集群组成,图1中只示出了 2个总线节点,但可以理解,总线集群中的机器数量不受此限制。
[0040]管理端与总线集群交互,用于管理总线集群中的机器的流量限制数据,管理端可将流量限制数据下发至总线集群,由总线集群中的机器根据对应的流量限制数据控制自身流量。总线集群可统计后端集群的健康度数据,并将后端集群的健康度数据上报给管理端,从而使得管理端可根据后端集群的健康度数据来生成不同的流量限制数据。其中,管理端可为与总线集群部署在同一机房或者部署在不同地点的服务器。
[0041]如图2所示,在一个实施例中,提供了一种分布式流量控制方法,该方法以应用于图1所示的管理端中进行举例说明,包括:
[0042]步骤202,接收总线集群上报的健康度数据。
[0043]健康度数据是指能反映后端集群的健康状况的数据。在一个实施例中,总线集群可从接收到的请求串中识别出多个业务维度,从而可将针对同一业务维度的后端集群的健康度数据进行整合上报。其中,业务维度是指针对某一业务的某类业务请求。比如,针对快捷支付这一业务,则有银行、具体接口等多种维度,不同的业务维度所调用的后端集群可能不同。
[0044]进一步的,总线集群可每隔固定周期(上报周期)上报一次后端集群的健康度数据,该上报周期优选可为I分钟。
[0045]步骤204,根据第一周期内的健康度数据判断后端集群是否缓慢或异常。
[0046]后端集群的健康度数据包括耗时类数据和处理结果类数据,其中耗时类数据用于判断后端集群是否缓慢,处理结果类数据用于判断后端集群是否异常。
[0047]步骤206,根据后端集群缓慢或异常的判断结果调整总线集群中的机器在第二周期内的流量限制。
[0048]第二周期为第一周期的下一周期,因此本实施例可实现根据前一周期的健康度数据对当前周期的流量进行控制。
[0049]调整总线集群中的机器在第二周期内的流量限制优选为调整机器对应的流量上限,流量上限是指该机器对应的流量应不能高于其流量上限。根据前一周期的后端集群的健康度数据来调整总线集群中的机器在当前周期内的流量上限,能够实现合理的流量分布。
[0050]步骤208,根据调整的流量限制在第二周期内对总线集群中的机器的流量进行控制。
[0051]本实施例中,对于总线集群中的每台机器,都可计算得到对应的流量上限,在计算得到总线集群中的机器在第二周期内的流量上限后,则可将与机器对应的流量上限发送至总线集群,总线集群中的机器则可将其流量限制在对应的流量上限内。
[0052]由于总线集群中的机器的流量限制可以根据后端集群的健康状况进行自动调整,因此总线集群中的机器的流量限制是动态可变的且适应于后端集群的健康状况,这种自动根据后端集群健康状况进行流量控制的方式,能够有效避免负载不均衡的情况,不易造成资源浪费从而能充分利用资源。并且由于无需对每台机器的流量静态配置经验阈值,从而不易出错。
[0053]在一个实施例中,如图3所示,根据后端集群缓慢或异常的判断结果调整总线集群中的机器在第二周期内的流量上限的过程包括:
[0054]步骤302,判断后端集群缓慢或异常,若是,则进入步骤304,否则进入步骤306。
[0055]步骤304,下调后端集群对应的支撑容量。
[0056]步骤306,上调后端集群对应的支撑容量。
[0057]后端集群对应的支撑容量,是指该后端集群针对某一业务维度能够支撑的容量。
[0058]在一个实施例中,步骤304为:将后端集群对应的支撑容量下调支撑容量初始值的预设百分比。步骤306为:将后端集群对应的支撑容量上调支撑容量初始值的预设百分t匕。比如,当前后端集群对应的支撑容量为Cl,支撑容量初始值为CO,预设百分比z%,在判断到后端集群缓慢或异常时,则下调后端集群对应的支撑容量为Cl-C0*z%。
[0059]在一个实施例中,在每次判断到后端集群缓慢或异常时,则进行一次下调,直至到达支撑容量的下限。优选的,该下限为η笔请求/秒,其中η为总线集群中的机器数量。在一个实施例中,在每次判断到后端集群未出现缓慢或异常时,则上调一次后端集群对应的支撑容量,直至达到支撑容量的上限(即最大值)。上限可优选为支撑容量初始值(即,初始设置的后端集群对应的支撑容量的值)。
[0060]在另一个实施例中,在每次上调一次后端集群对应的支撑容量后,判断这次上调后的后端集群对应的支撑容量是否达到支撑容量的上限(即最大值),如果达到,则停止上调,并将后端集群对应的支撑容量设置为支撑容量的上限。该上限优选可为支撑容量的初始值。
[0061]步骤308,根据调整后的支撑容量确定总线集群中的机器在第二周期内的流量上限。
[0062]在一
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1