当前位置:首页 > 站长杂谈 > 正文内容

服务雪崩及防范机制

小宝4年前 (2020-08-14)站长杂谈1267

概念

服务雪崩与服务堆积是什么

1547373419_fuwuduiji.png 服务雪崩及防范机制  服务器 第1张

  1. 默认情况下,只有一个线程池维护所有的服务接口,如果大量请求访问同一个接口,达到配置线程数的极限,可能会导致其他服务无法访问,线程池满了,从而导致系统无法访问而崩溃

  2. 主要产生雪崩原因是因为服务请求堆积问题

  3. 假设默认tomcat最大线程池是50,尝试第51个请求会阻塞,请求在等待,如果堆积请求过多,那么就会造成服务雪崩

  4. 大量的服务堆积请求会造成其他接口无法访问,导致服务崩溃

  5. 恶意的大量接口攻击可以导致服务雪崩

解决服务雪崩的方案

  1. 服务隔离(接口独立的线程池,接口间互不影响)

  2. 服务降级(当服务超时失败时,给予客户端默认返回)

  3. 服务限流(限制接口时间内的访问量,当超出时给予服务降级)

  4. 服务熔断(限制接口可承受的上限值,当超出时给予服务降级)

服务隔离

1547373419_fuwugeli.png 服务雪崩及防范机制  服务器 第2张

  1. 每个服务接口都有自己独立线程池,每个线程池互不影响,管理运行当前自己接口,这样就可以解决服务雪崩效应

  2. 遭遇大量恶意攻击时,单纯的隔离方案仍然危险

服务降级

1547373419_fuwujiangji.png 服务雪崩及防范机制  服务器 第3张

  1. 高并发情况,当服务不可用时,直接返回一个默认提示或页面,避免客户端一直等待

  2. 避免大量请求处于阻塞状态,达到一定时间给予友好提示

服务限流

服务限流是什么

  1. 限制接口时间内的访问量,当超出时给予服务降级

  2. 常应用于秒杀抢购,服务安全(流量攻击,DDOS),雪崩效应,流量突然特别大的情况

服务限流的实现算法

  1. 滑动计数器

  2. 令牌桶

  3. 漏桶

滑动计数器

1547373419_fuwulimting_counter.png 服务雪崩及防范机制  服务器 第4张

  1. 已时间格子的滑动窗口实现服务限流

  2. 滑动窗口随当前时间变化不断向后移动,最后的格子是当前的时间

  3. 进行请求时,检查前面的时间格子并根据制定的规则,得出此次请求是否应该被通过还是降级处理

令牌桶

1547373419_fuwulimting_tokenBucket.png 服务雪崩及防范机制  服务器 第5张

  1. 令牌桶分为两个动作

  2. 动作1,固定速率往桶中存入令牌

  3. 动作2,客户端如果想访问请求,先从桶中获取令牌

  4. 创建令牌桶开启独立线程以固定的速率往桶中存放令牌,固定速率2R/S,表示每秒往桶中放入两个令牌

  5. 如果客户端从桶中获取不到令牌,进行降级处理

漏桶

1547373419_lfuwulimting_leakyBucket.png 服务雪崩及防范机制  服务器 第6张

  1. 流入: (客户端请求)

  2. 流出: (每允许通过的请求)

  3. 水都: (客户端请求的唯一标识)

  4. 已固定速率从桶中流出水滴,流出的水滴(请求),作为有效请求

  5. 当流入速率大于流出速率,那么水桶会溢出,溢出的水滴(请求)都进行降级处理

服务熔断

1547373419_fuwuroduan.png 服务雪崩及防范机制  服务器 第7张

  1. 高并发情况,如果达到流量一定极限(阈值),超出了设置阈值,进行降级处理,保护当前服务不会遭到崩溃,熔断目的是为了保护服务

  2. 限制接口可承受的上限值,当超出时进行服务降级



转载至纤月博客

扫描二维码推送至手机访问。

版权声明:本文由 菠萝博客 发布,如需转载请注明出处。

本文链接:https://boluobk.cn/post/126.html

标签: 服务器
分享给朋友:

相关文章

网站服务器选择Windows主机好还是Linux主机好?

从需求性、稳定性、操作性、安全性、性价比来分析一番,然后您就知道该选哪款空间了。需求性:这个要看您网站选取的语言,如果是asp建设的网站,毫不犹豫应该选择Windows主机,Linux不支持asp系列的语言;如果是PHP语言建设的网站,建议...

kangle一键安装脚本

脚本简介本脚本是一键安装Kangle+Easypanel+Mysql的集合脚本。脚本本身集成:PHP5.2、PHP5.4、PHP5.5、PHP5.6、PHP7.0、PHP7.1、PHP7.2、PHP7.3、Mariadb5.5(替代Mysq...

宝塔IDC系统的弊端

宝塔IDC系统的弊端

现在越来越多的主商在互联网上使用宝塔定制的虚拟主机管理系统来销售虚拟主机但实际上它们在安全性和稳定性方面存在缺陷,这就是原因。首先,宝塔中所有站点的php进程池(PHP FPM)是共享的。PHP FPM可以设置PHP启动进程的数量、进程的最...

删除域名后还可访问网站的解决办法

删除域名后还可访问网站的解决办法

相信大家使用主机时会出现域名解析记录删除后访问域名还可以正常访问的情况,这种问题一般很少遇到,但也有不少人最近问我怎么解决,今天就教大家如何解决这个问题首先是如何出现这种问题的呢?一般出现这种问题是主机的默认文件和域名缓存一些主机设置了默认...

PHP 提取文件路径中文件名及文件后缀的方法

php 在处理本地的文件时,有时候需要获取到它们的文件名,以便做进一步的逻辑处理。那么在 php 语言中,如何获取本地的文件名呢?今天飞鸟慕鱼博客的小编就来和大家说一说,php 中通过文件的路径来提取文件名以及文件后缀的方法php base...

给网站添加一个夜间模式

教大家怎么给自己的网站添加一个夜间模式,当然代码不是我制作开发的,我不生产代码,我只是代码的搬运工(广告词很熟悉哈),好了不多说废话,这个代码是在网上找到,也不知道原始作者是谁,感谢您的无私奉献。首先,我们需要在主题模板中打开“footer...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。