刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
面试题
高并发系统如何保护系统 ?
使用微信搜索喵呜刷题,轻松应对面试!
答案:
分析&回答
我们一般的应对策略是缓存、降级和限流!
缓存
缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;
- 本地缓存,控制单机请求量很有效,如果分布式缓存承压的情况下也可以通过本地缓存先进行过滤。
- 分布式缓存,对于处理整体业务的高并发很有用,但是也会存在一下问题,比如:缓存穿透、缓存击穿、缓存雪崩
降级
降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;
- 降级可以降低响应时效,也可以削减非必要功能。
限流
限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向到错误页或告知资源没有了)、排队或等待(比如秒杀、评论、下单)、降级(返回兜底数据或默认数据,如商品详情页库存默认有货)。
一般开发高并发系统常见的限流有:
- 限制总并发数(比如数据库连接池、线程池)
- 限制瞬时并发数(如nginx的limit_conn模块,用来限制瞬时并发连接数)
- 限制时间窗口内的平均速率(如Guava的RateLimiter、nginx的limit_req模块,限制每秒的平均速率)
- 其他还有如限制远程接口调用速率、限制MQ的消费速率。
- 另外还可以根据网络连接数、网络流量、CPU或内存负载等来限流。
反思&扩展
创作类型:
原创
本文链接:高并发系统如何保护系统 ?
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!



