监控
把各个环节的业务量级、成功失败原因、活动量级上报,这些数据是有因果关系的
所以我们把这些数据汇总到大盘,提高问题定位的速度。隔离
区分业务,隔离餐团与买单业务,然后区分了环节,隔离查询与交易环节
最终业务与业务隔离,交易与查询隔离,保障了系统的稳定性。降级,首先是确认场景优先级,区分核心功能非核心功能,区分核心依赖非核心依赖
- 系统容量问题,优先降级非核心功能,限流查询链路
- 功能异常问题,按业务、场景类型进行降级,避免故障影响扩大
- 全链路压测
需要定期进行全链路压测评估链路流量负载能力。
压测前,会对压测流量进行ID偏移,防止污染线上,同步压测数据并进行状态改写。
压测中读写分离,读线上数据,防止污染本地缓存,写影子表防止污染线上表。
压测后扫描线上数据,确保无压测数据写到线上,然后清理压测数据。
总结:
事前准备,主要做链路梳理,明确强弱依赖,然后进行性能评估,主要进行容量评估和负载评估,然后完善监控,明确因果建设大盘,最后准备降级预案,区分场景,区分优先级。
事中快速响应,通过监控大盘定位问题,按预案进行扩容、限流、降级、熔断等操作。
事后进行性能优化,问题修复并进行复盘总结。