阿里是如何抗住双11的?看完这篇你就明白了!
这个是阿里首创的,目前很多公司在效仿。属于是业务倒逼技术创造出来的手段。 全链路压测涉及到的内容会比较多,关键的步骤包括: 链路梳理 基础数据准备、脱敏等 中间件改造(透传影子标,软负载/消息/缓存/分库分表等路由,建立影子表) 建立压测模型、流量模型、流量引擎 预案体系的检查 执行压测,紧盯监控告警 数据清理 对业务开发团队同学来讲,关于链路梳理、流量模型的评估是其中最重要的环节,全链路压测就是模拟用户真实的访问路径构造请求,对生产环境做实际演练。 这里我以大家熟悉的购买电影票的场景为例。如下图,整个链路中业务流量其实是呈“漏斗模型”的,至于每一层的比例是多少,这个第一就是参考当前的监控,第二就是参考历史数据去推算平均值了。 漏斗模型推演示例: 可以看出每一层(不同应用、不同服务)所需要承载的真实流量不一样,负载也是不一样的。 当然,实际场景更复杂,实际情况是多场景混合并行的,A 用户在拉排期的时候 B 用户已经在锁座了… 我们要做的,就是尽可能接近真实。还有最关键的一点要求:不能影响线上真实业务。这就需要非常强的监控告警和故障隔离能力了。 关于系统容量和水位标准,这里给大家一个建议参考值: 水位标准:单机房部署水位应在 70% 以下,双机房部署水位应在 40% 以下 单机水位:单机负载 / 单机容量 集群水位:集群负载 / 集群容量 理论机器数:实际机器数 *(集群水位 / 水位标准) 为什么双机房是 40%?一个机房故障了流量全都切到另外一个机房去,要确保整体不受影响,不会被压垮。 预案体系 (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |