An embodiment of the invention discloses an overload protection method and device, in which the method includes: judging whether the current server is at a high level of service overload after obtaining a request message in a communication queue; if the current server is in a service overload high water level, the request message is discarded; if the current server is not at the current server, The service overloads the high water level, and determines whether the queue waiting time of the requested message is overloaded according to the queue time of the communication queue described by the request message. If, then the requested message is discarded. The embodiment of the invention can realize the continuous external service provided by the server, shorten the time from overload to recovery, and improve the stability of the service framework.
【技术实现步骤摘要】
一种过载保护方法及装置
本专利技术涉及计算机
,尤其涉及一种过载保护方法及装置。
技术介绍
微服务是一个新兴的软件架构,即是把一个大型的单个应用程序和服务拆分成多个微服务,系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。然而在海量服务中基本都会遇到过载情况,服务过载初期会导致部分服务不可用,如果处理不当可能会导致服务完全不可用,甚至导致雪崩。随着微服务化在乐信集团逐步推进,服务端的服务过载保护成为微服务化的服务对外提供稳定服务的一道屏障。目前,常见的服务端过载保护方案有以下两种:(1)请求量阈值控制方案。服务部署上线前,预估服务吞吐量,设置过载保护阈值的低水位和高水位,当服务请求量接近低水位阈值时服务过载告警,服务请求量超过高水位时触发拒绝服务机制。(2)检测请求到达时间方案。通过判断请求处理时延确定服务是否过载,设置服务时延阈值,记录请求到达的时间戳和请求处理结束的时间戳,得出请求在服务器处理的时延,如果超过设置的阈值,判断服务过载,丢掉请求。然而这两种过载保护方案都存在一定的局限性:使用请求量阈值控制方案,阈值设置困难,需要一定的经验,当服务处理能力变动时,阈值很难动态变动,该方案不适合批量推广。使用检查请求到达时间方案,当服务出现过载时很可能导致整体服务出现一个固定时延,导致后续请求时延大于设置的服务时延阈值,服务端主动抛弃请求到可执行的时延范围,服务出现过载时服务恢复到稳定时间不可控。
技术实现思路
本专利技术实施例提供了一种过载保护方法及装置,以实现服务端持续不断对外提供服务,缩短服务由过载到恢复的时间,提高服务框架的稳定性。第一方面 ...
【技术保护点】
一种过载保护方法,其特征在于,包括:在获取通信队列中的请求消息之后,判断当前服务端是否处于服务过载高水位;若当前服务端处于服务过载高水位,则丢弃所述请求消息;若当前服务端不在服务过载高水位,则根据所述请求消息在所述通信队列的入队时间判断所述请求消息的队列等待时间是否过载,若是,则丢弃所述请求消息。
【技术特征摘要】
1.一种过载保护方法,其特征在于,包括:在获取通信队列中的请求消息之后,判断当前服务端是否处于服务过载高水位;若当前服务端处于服务过载高水位,则丢弃所述请求消息;若当前服务端不在服务过载高水位,则根据所述请求消息在所述通信队列的入队时间判断所述请求消息的队列等待时间是否过载,若是,则丢弃所述请求消息。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:记录高水位丢弃请求消息的数量;判断高水位丢弃请求消息的数量是否达到预设的过载恢复阈值,若是,则关闭服务过载高水位。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:若判断所述请求消息的队列等待时间未过载,则处理请求消息,并返回处理结果到客户端。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:记录队列等待时间过载连续丢弃请求消息的数量;判断队列等待时间过载连续丢弃请求消息的数量是否达到过载高水位,若是,则开启服务过载高水位。5.根据权利要求1所述的方法,其特征在于,在获取通信队列中的请求消息之前,所述方法还包括:接收客户端发送的请求消息,并判断所述通信队列是否已满;若通信队列已满,则丢弃所述请求消息;若通信队列未满,则将当前时间戳设置为所述请求消息的入队时间字段,并发送所述请求消息到通信队列。6.一种过载保护装置,其特征在于,所述装置包括:第一判断模块,用于在获取通信队列中的请求消息...
【专利技术属性】
技术研发人员:彭明明,
申请(专利权)人:深圳乐信软件技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。