极客视点
极客时间编辑部
极客时间编辑部
113243 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/06:08
登录|注册

当流量突变时,系统中的负载保护如何应对?

讲述:丁婵大小:5.61M时长:06:08
你好,欢迎收听极客视点。
有人说:“击垮一家互联网公司的最快方式不是运营疯狂烧钱、不是产品经理胡乱决策,而是系统核心功能的持续不可用。”的确,我们常会见到一次大规模宕机导致企业损失上千万,甚至市值大量蒸发。由此可见,系统稳定性和高可用的重要性。
那么,当真正发生流量突变,导致系统异常时,又该如何应对呢?对此,InfoQ 采访了腾讯科技增值服务部互娱 AMS 监控系统负责人朱龙云,请他分享了具体的应对措施。
当流量发生突变,系统中的负载保护要根据下面三种情况来采取相应的措施。

负载过高

当系统负载过高时,通常会采用三种措施来保护系统,限流、降级和熔断。
限流一般是指限制入口流量,触发机制可以是提前预设阈值、下游通知或者自发检测到资源过载。具体策略可以是刚性,超过一定量之后,就全部不再提供服务。也可以是弹性,这就会涉及降级。
降级一般是指限制业务或用户。如果是读写分离的业务,通常读的量比较大,写的量比较小,而且敏感,所以当系统过载时,就会限制读的量,而写的量不会直接限制。读少了,同时会自动引起写减少。这种方式即使是触发了负载保护,也会使系统尽可能有好的体验。限制用户指的是按照一定策略使得部分用户无法访问该服务。
熔断主要是发现自身或者下游不能正常服务,主动不再对上游提供服务。但是熔断也可以引入降级服务策略,允许部分服务正常运行。
总体来看,限流偏向于管理入口流量,熔断偏向于保护下游服务。降级是为了在系统触发负载保护时,尽可能提供弹性服务。一般来说,熔断比限流严重,而限流比降级严重。

负载过低

与负载过高相比,大家对于负载过低的关注度会比较低,但其实负载过低有时也会带来严重后果。
一般来说,出现负载过低的情况有以下几种:
一是比较直接的,业务量太少,解决方法就是与其它业务混合部署,再采用负载保护;
二是关键业务或节点进行了独立,这种情况一般是企业根据业务情况做出的运营策略,不需要调整;
三是服务实现的缺陷,例如服务里面存在 idle 操作,造成机器资源利用率不高;
四是服务设计的缺陷,例如 QPS 达到一定阈值,服务器性能就会断崖式下降,造成机器资源利用率不高。

负载均衡

负载过高或过低都不可行,你需要做到负载均衡。首先,调用链节点之间的负载要均衡,没有明显瓶颈,否则容易触发负载保护;其次,单个服务集群的各个服务器之间的负载要均衡,包括硬件和软件的负载均衡。
如何实现负载均衡呢?主要考虑以下几个方面:
系统的冷启动策略,可以从一个预设的平衡条件开始逐步调整;
系统性能指标,如响应时间,错误码等;
负载调度策略,基于机器的服务能力来分配,如服务的平均响应时间、成功比例以及内部队列长度等;
负载均衡的精度和稳定性,精度高的好处是能够区分出异构机器的服务能力,而坏处在于频繁调整各个机器服务权重,有可能引起系统颠簸;
负载均衡接入方式,常见的有网关接入和 Agent 接入;
即使触发了负载保护依然需要负载均衡,不然就有可能造成系统服务能力浪费。

企业中的负载保护存在哪些问题?

在企业中,经常会遇到这三种负载保护的情况:第一种是企业在系统设计之初就考虑负载保护,系统上线之后没有出现大故障,负载保护不断优化,并与业务逻辑进一步融合;第二种是在系统运营过程中遇到了负载保护的问题,并得到了比较好的解决;第三种是遇到了负载保护问题,不能彻底解决,负载保护系统部分可用,需要堆人力来运营系统。
第一种情况是最理想的,但是现实中很少见,因为这其中不只涉及到技术问题,同时也需要考虑项目进度、成本等多种因素。而其它两种情况都是企业实践中比较常见的,其根本解决方法就是在系统设计之初就考虑到负载平衡,同时做好以下工作:
检查现有系统是否存在明显短板,容易触发过载;
系统与外部系统之间要做好入口流量控制;
系统内“玻璃体质”服务的模块调用方要有错误抑制、熔断、降级等机制;
关键服务的负载要实时监测、评估,并适当提高冗余资源;
负载保护要与监控紧密结合,尽早发现系统异常,及时触发自动扩容;
负载保护触发时要采访业务侧提供的策略;
根据系统运营结果,及时发现系统在设计和运营方面的不足。
以上就是今天的内容,希望对你有所帮助。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
大纲
固定大纲
负载过高
负载过低
负载均衡
企业中的负载保护存在哪些问题?
显示
设置
留言
收藏
38
沉浸
阅读
分享
手机端
快捷键
回顶部