互联网系统的稳定性保证:微博的实践.pdf

互联网系统的稳定性保证:微博的实践 新浪微博 洪小军 • 什么是稳定的系统? o 最稳定的操作系统 –OpenVMS 图片来源: 数据采集时间:2013年7月12 日 • 什么是稳定的系统? o 最稳定的反馈控制系统 –鸡头 图片来源:youtube • 什么是稳定的互联网系统? o 少出问题 o 快速解决 o 清楚系统健康状况趋势 • 影响稳定性的因素 o 依赖的资源、服务异常 o 网络、硬件故障 o 流量异常突增 o 代码bug o 各种 “坑” o ……. • 构建稳定的系统 o 少出问题:Design For Failure o 快速解决:容灾预案 • 构建稳定的系统 –Design For Failure o 分层隔离 o SLA保证 o 代码质量保证 • 分层隔离 –分层模型 DNS 七层(Nginx、Varnish…) 应用层 (Tomcat 、Jetty…) 服务层 中间件 资源层(Cache、Storage…) • 分层隔离 –隔离目标和原则  保证异常出现时影响范围可控  按主要接入方隔离  按业务隔离  按功能核心程度隔离 • 分层隔离 –隔离方式 隔离成本 o 物理隔离 |逻辑隔离 DNS 低 o 读写隔离 七层 中 应用层 中 服务层|中间件 中 资源层 高 • SLA保证 o 服务提供方:服务对外的SLA承诺 o 服务消费方:对依赖资源或服务的SLA要求 • 服务SLA保证 –超时控制 o 依赖的资源或服务超时控制 o 异步调用超时控制 • 服务SLA保证 –谨慎重试 o 异常场景下重试可能导致系统持续恶化 o 对于写入场景存在数据异常风险 • 服务SLA保证 –容量规划 o 每季度至少一次例行性评估 o 重大活动前容量评估 o 监控系统黄色预警 o 日常30%以上冗余 o 资源或系统架构调整时需要重点关注 • 服务SLA保证 –Failover策略 o 服务降级:保核心功能 o 快速失败:保证不卡死 o 流量限制:保正常请求 • 服务SLA保证

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档