用于服务器限流的方法与系统技术方案

技术编号:18240513 阅读:172 留言:0更新日期:2018-06-17 05:16
本发明专利技术涉及一种用于服务器限流的方法与系统。本公开提供一种用于服务器限流的方法和装置。方法包括:通过服务器监控平台监控多个服务器的工作负荷状态;通过请求拦截器拦截用户的服务器访问请求;根据所述多个服务器的工作负荷状态,通过拦截配置平台判断是否将所述服务器访问请求发送给对应的服务器。本公开的用于服务器限流的方法和装置可以保护服务器,防止系统崩溃。 1

Method and system for server flow restriction

The invention relates to a method and system for server current limiting. The present disclosure provides a method and device for server current limiting. The methods include: monitoring the workload status of multiple servers through the server monitoring platform; interceptors intercept the user's server access requests by requesting interceptors; and determine if the server requests are sent to the corresponding server by the intercepting configuration platform based on the workload status of the multiple servers. The disclosed method and device for server current limiting can protect the server and prevent the system from collapsing. One

【技术实现步骤摘要】
用于服务器限流的方法与系统
本公开涉及网络数据管理
,具体而言,涉及一种用于服务器限流的方法与系统。
技术介绍
随着信息技术的发展,网络系统的用户数量迅猛增长,使得服务器访问量增多,系统并发的压力增大。当系统并发突然增大,或者有大量数据导入导出时,服务器的压力也会相应增大,这种情况如果没能得到及时处理,会造成系统崩溃,严重影响正常业务生产。现有技术中,通常通过使用lvs、nginx或haproxy进行负载均衡来处理服务器流量,保护服务器。图1是一种服务器保护方法的示意图。参考图1,可以通过使用nginx将用户请求通过算法分发到多台后端服务器上,使每台后端服务器分担部分流量。如果某台后端服务器出现问题,则不会将用户的服务器访问请求分发到该应用服务上,从而保证了系统的高可用性。现有技术方案虽然可以通过部署集群将流量分摊到每个服务器上,并且在当服务器不可用时也会将其从集群中摘除,但是当存在高并发和大数据量的导入导出时,很容易将系统所有的服务器的内存和CUP资源耗尽,造成系统崩溃。因此,需要一种能有效的根据服务器的资源使用情况进行流量控制的方法。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开的目的在于提供一种用于服务器限流的方法与系统,用于针对现有应用系统负载均衡中存在的缺陷,采用根据当前应用服务器资源使用情况判断是否接受用户请求的方案,防止系统在服务器资源使用率升高时还接受用户请求而导致的系统崩溃。根据本公开实施例的第一方面,提供一种用于服务器限流的方法,包括:通过服务器监控平台监控多个服务器的工作负荷状态;通过请求拦截器拦截用户的服务器访问请求;根据所述多个服务器的工作负荷状态,通过拦截配置平台判断是否将所述服务器访问请求发送给对应的服务器。在本公开的一种示例性实施例中,还包括:通过所述拦截配置平台配置所述多个服务器的应用系统信息以及所述服务器访问请求的拦截规则,所述应用系统信息包括应用系统名称、应用服务器IP、数据库服务器IP,所述拦截规则包括每个服务器的内存阈值、CPU阈值。在本公开的一种示例性实施例中,所述通过拦截配置平台判断是否将所述服务器访问请求发送给对应的服务器包括:定时通过所述服务器监控平台获取所述多个服务器的所述工作负荷状态;根据所述应用系统信息与所述拦截规则解析所述工作负荷状态,判断每个所述服务器是否为不可用状态.。在本公开的一种示例性实施例中,所述请求拦截器分别集成在所述多个服务器上。在本公开的一种示例性实施例中,所述服务器包括应用服务器和/或数据库服务器。在本公开的一种示例性实施例中,所述服务器监控平台通过Nagios实现。在本公开的一种示例性实施例中,所述请求拦截器通过Spring拦截器实现。根据本公开的一个方面,提供一种用于服务器限流的系统,包括:服务器监控平台,用于监控多个服务器的工作负荷状态;请求拦截器,用于拦截用户的服务器访问请求;拦截配置平台,用于根据所述多个服务器的工作负荷状态判断是否将所述服务器访问请求发送给对应的服务器。在本公开的一种示例性实施例中,所述拦截配置平台定时根据每个所述服务器的内存阈值、CPU阈值判断所述服务器是否为可用状态。在本公开的一种示例性实施例中,所述拦截配置平台还用于配置所述服务器访问请求的拦截规则。本公开提供的用于服务器限流的方法与系统通过同时监控多个服务器工作负荷,对用户的服务器访问请求进行拦截,并在某个服务器工作负荷达到一预设状态时拒绝对应该服务器的访问请求,实现了根据系统服务器的实时工作状态进行限流,防止系统在高并发下崩溃。通过对服务器访问流量进行限制,可以有效的保护系统,提高系统的可用性。此外,通过设置拦截条件,可以保证系统在高并发下对外提供部分服务,保证系统正常运行。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示意性示出一种服务器保护方法的示意图。图2示意性示出本公开示例性实施例中一种用于服务器限流的方法的流程图。图3示意性示出本公开示例性实施例中通过Nagios实现服务器监控的原理示意图。图4示意性示出本公开示例性实施例中拦截配置平台的工作原理示意图。图5示意性示出本公开示例性实施例中一种用于服务器限流的系统的方框图。图6示意性示出本公开示例性实施例中一种用于服务器限流的系统的工作原理示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。下面结合附图对本公开示例实施方式进行详细说明。图2是本公开示例性实施例中一种用于服务器限流的方法的流程图。参考图2,用于服务器限流的方法200可以包括:步骤S102,通过服务器监控平台监控多个服务器的工作负荷状态。在本公开的一些实施例中,所述服务器可以包括应用服务器和/或数据库服务器。其中,应用服务器的数量可以为一个或多个。当系统中存在多个应用服务器时,多个应用服务器的组织形式可以为如图1所示的方式。数据库服务器为应用服务器提供数据库服务,与一或多个应用服务器连接。在一个系统中,数据库服务器可以为一个,也可以为多个。当然,上述对服务器的描述仅为示例性的,服务器的种类或数量并不仅限于此。在一些实施例中,服务器监控平台可以通过Nagios实现。Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态。Nagios可以监控服务和主机,但是其本身并不包括这部分功能,监控、检测等功能统称通过各种插件来完成。在本示例实施方式中,可以通过安装在Nagios里的check_nrpe插件实现服务器监控。首先,可以将被测服务器信息发送给check_nrpe;接下来,可以通过SSL(SecuritySocketLayer,加密套接字协议层)和check_nrpe插件连接服务器上的NRPEdae本文档来自技高网...
用于服务器限流的方法与系统

【技术保护点】
1.一种用于服务器限流的方法,其特征在于,包括:

【技术特征摘要】
1.一种用于服务器限流的方法,其特征在于,包括:通过服务器监控平台监控多个服务器的工作负荷状态;通过请求拦截器拦截用户的服务器访问请求;根据所述多个服务器的工作负荷状态,通过拦截配置平台判断是否将所述服务器访问请求发送给对应的服务器。2.根据权利要求1所述的用于服务器限流的方法,其特征在于,还包括:通过所述拦截配置平台配置所述多个服务器的应用系统信息以及所述服务器访问请求的拦截规则,所述应用系统信息包括应用系统名称、应用服务器IP、数据库服务器IP,所述拦截规则包括每个服务器的内存阈值、CPU阈值。3.根据权利要求2所述的用于服务器限流的方法,其特征在于,所述通过拦截配置平台判断是否将所述服务器访问请求发送给对应的服务器包括:定时通过所述服务器监控平台获取所述多个服务器的所述工作负荷状态;根据所述应用系统信息与所述拦截规则解析所述工作负荷状态,判断每个所述服务器是否为不可用状态。4.根据权利要求1所述的用于服务器限流的方法,其特征在于,所述请求拦截器分别集成在所述多个服务器上。5.根据权利要求1所述的用于服务器限流的方法,其特征在于,所述服务器包括应用服务器和/或数据库服务器。...

【专利技术属性】
技术研发人员:冯锐
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1