《企业IT架构转型之道》边读边想——平台稳定性能力

〇、背景:

各种秒杀大促
天猫双11电商大促(现象级)

需要保证平台稳定

稳定性体系的范畴

  1. 机房布线
  2. 网络通信
  3. 硬件部署
  4. 应用架构
  5. 数据容灾
  6. ……

阿里的技术创新和成果

针对方面 工具或方法
限流和降级 TMD(Taobao Missile Defense) / http_sysguard / Sentinel
流量调度 流量调度平台
业务开关
容量压测和评估 单机最大能力估测方法
全链路压测 全链路压测平台
业务一致性 BCP(Business Check Platform)

一、限流和降级

原因:由于bug或设计不合理或者业务层次带来的浪涌(大促)
现象:服务方,服务很忙,节点占满,处理缓慢;应用方,响应时间过长
结果:实际上服务方没有给应用方提供有效服务
结论:服务方需要做好自卫——对于“不受控”的应用方调用应该加以控制
思想:Never half ass 2 things, whole ass 1 thing.
eg:设计容量100w用户,可实际来了1000w,可以正常处理100w,剩下900w排队或阻挡

解决步骤

1、服务能力预估

预估服务实例的部署量到底最大能满足多少业务请求的处理要求
一般选取服务的QPS作为限流的关键判断指标

不选择CPU、内存、磁盘IO等资源指标作为负载判断依据,是因为很多情况下系统本身的处理能力处于什么样的水位跟这些操作系统资源的使用情况没有一个清晰地对应关系

2、服务资源监控

从Nginx统一接入流量

3、平台接入层限流

阿里巴巴在Nginx上扩展组件TMD(Taobao Missile Defense,淘宝导弹防御系统)

实现限流的同时很好的兼顾安全问题

配置参考:

server {
    sysguard on;
    sysguard_mode or;

    sysguard_load load=10.5 action=/loadlimit;
    sysguard_cpu usage=20 period=3s action=/cpulimit;
    sysguard_mem swapratio=20% action=/swaplimit;
    sysguard_mem free=100M action=/freelimit;
    sysguard_rt rt=0.01 period=5s action=/rtlimit;

    location /loadlimit {
        return 503;
    }

    location /swaplimit {
        return 503;
    }

    location /freelimit {
        return 503;
    }

    location /rtlimit {
        return 503;
    }

    location /cpulimit {
        return 503;
    }
}

cpu_usage = [(cur.usr + cur.nice + cur.sys) - (pre.usr + pre.nice + pre.sys)]/
[(cur.usr + cur.nice + cur.sys + cur.iowait + cur.irq
+ cur.softirq + cur.idle)
- (pre.usr + pre.nice + pre.sys + pre.iowait + pre.irq
+ pre.softirq + pre.idle)] * 100

4、服务层限流

传统方法:通过Spring的AOP机制,定义一个advice拦截器,重写before方法

传统方法存在的问题

重复工作:100个接口限流需要配置100个advice和编写100个拦截器
硬编码:没有统一管理和配置
手段单一:仅能对上游过载做限制,需要结合服务调用上下游进行更灵活的配置
无全局管控:缺乏统一的监控平台
算法粗糙:对于“双十一”这种特殊场景,会看到毛刺现象,需要更平滑的限流算法

阿里的服务层限流平台Sentinel

《企业IT架构转型之道》边读边想——平台稳定性能力_第1张图片

二、流量调度

局部问题影响整体的原因
(1)分布式服务环境调用链局部问题会被放大到整个链路
(2)单点、局部问题会被放大成面

《企业IT架构转型之道》边读边想——平台稳定性能力_第2张图片

三、容量压测与评估规划

服务实例单机最大处理能力的估测方法的考量

(1)实用性
(2)准确性
(3)高效性

容量压测

容量分析预测

四、全链路压测

(1)基础数据抽取
(2)链路与模型构造
(3)链路验证
(4)业务改造
(5)数据平台
(6)流量平台
(7)影子表(数据隔离)
(8)中间件改造
(9)安全机制

五、业务一致性

BCP平台业务处理流程

《企业IT架构转型之道》边读边想——平台稳定性能力_第3张图片

采用不同规则集对不同事件做判断

《企业IT架构转型之道》边读边想——平台稳定性能力_第4张图片

你可能感兴趣的:(架构)