新浪技术保障部运维架构师 王关胜 《构建高效的防御体系》
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微博平台护城河构建高效的防御体系
@王关胜
大纲
微博平台业务介绍
平台防御体系框架设计
平台层实践
新浪故障管理
小结&QA
1.微博平台业务介绍
用户
8亿注册用户8000万+DAU 1.75亿MAU
系统
200+集群
3000+设备
日均6百亿Hits
运维
99.99%
Docker:53%
变更:15次/周
2.面临的挑战
●产品功能迭代快,系统变更及代码上线次数多
●突发的热点事件
#周一见##且行切珍惜##马航370##刘翔摔倒#
●每日不定时段的Push内容
●业务上复杂的依赖关系
●基于微博的大型运营活动:让红包飞,随手拍…
●每年一度的三节保障&春晚大考
3.突发流量峰值
●热门事件:最大30倍瞬间峰值
◆微博,转发,评论,赞
◆长微博
◆话题
●典型案例:日常Push
◆落地页:业务模块,如话题,热门微博
◆下发速度:快,中,慢
◆用户模型:全量,高中低频,地区,灰度模型(如尾号)
◆用户互动时间:<1h
◆分类:应用内Push,应用外Push,运营及活动Push
大纲
微博平台业务介绍
平台防御体系框架设计
平台层实践
新浪故障管理
小结&QA
1.什么是防御体系
架构容量监控干预实时性&报警快误报少&报警准无遗漏&覆盖全防御体系四要素性能好&冗余够快速动态扩容
压测&容量预警极简的架构稳健的架构美丽的架构
预案全&手段多操作快&方案细干预行之有效
.快.全.准.简.美.稳.多.效.细.够.警.动
2.防御体系框架四层七层Web RPC
Processor 规范业务日志Http MC(Q)资源层MySQL Redis Hbase 平台架构运维四化建设全链路SLA 运维数据接口分工&职责&KPI 标准流程规范监控容量架构
干预定期巡检&演练7x24小时轮班
定期培训知识管理
防御标准化防御制度
服务隔离快速失败
大纲
微博平台业务介绍
平台防御体系框架设计
平台层实践
新浪故障管理
小结&QA
1.防御架构设计之防单点
●防单点
◆调用链路上避免单点
无状态:前端,队列处理,RPC 支持503机制
◆线性扩容,平滑上下线,在线调整
业务代码层支持,运维只需改配置
◆核心资源设计为分层访问
缓存分级
10G 10G 10G 10G Maste r 10G
10G
10G
10G
Slave
Web
L1L1L1
L1
DB
(1)select one of L1 cache (include master ),get from it
(2) if L1 exist,return;if not exist,get from master.(3) if master exist, return, and set L1; else if not exist, get from slave
(4) if slave exist, return,set master and L1;else if not exist,get from db
(5) if db exist,return,set master,slave and L1;else throw exception
(6)if has new data (mcq process),update all of L1,master, slave
访问逻辑
防御架构设计之隔离
●隔离:80-20原则
◆业务层:
基于SLA的快速失败
代码分层与服务化
异步解耦合
◆部署层:
核心链路独立部署
多机房容灾
◆基础架构层:
核心服务设备网络层隔离
交换机上联容灾微博平台部署架构
多机房部署
核心服务独立域名,上下行分开
七层独立部署
核心服务独立服务池
Tomcat线程保护快速失败
服务化及独立部署
核心资源独立部署
外部依赖异步解耦
隔离方法
防御架构设计之多机房实践
多机房组件
●核心问题
◆机房间延时:用户的请求应该在本机房内完成
◆专线质量
◆部署范围:
核心业务路径本地部署
依赖业务数据同步
◆数据异地多写:
部署业务消息化
多机房同步组件(MytriggerQ,WMB)
◆七层规则:非核心路径穿透北京
◆数据一致性
◆配置基础设施
◆技术改造对线上业务的影响
2.主动防御-监控体系
新浪综合运维平台
SinaWatch
Jpool_agen
t
Logtailer SinaScri pt
基础资源应用程序业务监控
运维数据
load cpu mem
swap
Net disk inode
ping
Io proc thread
tcp_c Message cs pgmf
端口监控
线程Jvm & GC Nginx 状态资源线程池&分布耗时
接口稳定性(99.95%)Profile &WatchMan 集群单机健康状态部署层数据
业务层数据资源层数据核心模块数据Diy Dashboard
移动APP 联系人分组合并
报警配额
WEB
警铃邮件
短信
私信
同比&环比面积图
趋势
函数
节点
监控数据API