打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
新浪微博平台稳定性体系介绍

春节快乐,恭喜发财!





目录介绍

  1. 微博平台业务介绍

  2. 稳定性体系-整体方案介绍

  3. 稳定性体系-架构方案详细介绍

  4. 稳定性体系-监控体系详细介绍

  5. 稳定性体系-容量评估

  6. 稳定性体系-干预方式


随着微博业务的快速发展,微博平台的稳定性建设也越来越完善,应对线上突发问题的能力也越来越强。


1. 微博平台业务介绍


微博平台组负责微博的feed,评论,赞等核心业务的后台接口开发和维护,系统的主要特点如下:

  • 请求量大

    日常晚高峰部分接口的qps能达到6w,大部分的接口的qps也在5千以上

  • 依赖资源多,任何依赖的资源都有可能down掉

    依赖MC,Redis,DB,RPC,HTTP,Hbase。仅核心池就依赖90多个MC端口,500多Redis端口,100多个db端口

  • 大型运营活动及三节保障:

    让红包飞、春晚

  • 热门突发事件:

    范冰冰李晨的我们、周一见

    各种各样的情况需要我们能快速应对。


2. 稳定性体系整体方案介绍




3. 架构体系详细介绍


无单点设计

  • 调用链路无单点

    •  前端,队列机,rpc 无状态服务,可线性扩容

  • 资源层分层设计

    • MC,Redis,DB 主从设计,其中mc 有三层设计:Master slave保障高可用,L1用来抗带宽            

自保护,防雪崩

  • 线程池保护,超出服务器最大线程时drop请求

    • Tomcat前端机

    • RPC

  • Fail Fast

    • MC,Redis,DB,Hbase,Motan RPC 在后端资源出问题时可以自动降级请求调用


Localcache 应对极热的push数据


服务隔离

  • 物理隔离,多机房部署            



逻辑隔离,拆分核心池,非核心池。防止非核心服务影响核心服务。


4. 监控体系详细介绍


此处的监控是业务层的监控,不包括运维层的监控。监控体系的基础是日志体系,日志体系主要包括:

  • 请求日志

    • 记录用户的请求参数,4xx、5xx数量,平均耗时等,包括nginx层,tomcat层,业务层

  • Trace 日志

    • 通过requestId串联所有的日志,用于定位分析问题

  • 性能统计日志

    • 包括qps,平均耗时,slow count,耗时区间

  • 分步耗时日志

    • 分析定位哪一步性能差

  • 线程池日志

    

监控体系主要包括

   

【实时报警】:

  • 实时监控接口健康状况,变为红色表示问题已经很严重。

  • 可查看哪台服务器有问题。

    


【监控类】: 

1.【qps监控】

  • 判断是否流量突增导致容量不足

  • 判断是否单机房问题



2. 【平均耗时监控】

监控接口性能是否存在问题



3. 【4xx,5xx监控】

判断接口是否存在异常



【问题定位类】:

1.【单机slow top】之前需要扫描nginx才能定位是否是单机问题,通过此监控,快速判断是否单机问题。



2.【依赖资源整体slow 】

通过此监控,快速判断哪类资源有问题



3.【具体资源slow top 5】

每种资源对应的端口或接口很多,

对具体资源进行慢请求的top5分析,可以快速找出具体哪些端口或接口有问题




4.【分步耗时】

某个接口中每一步的耗时情况,便于排查问题



5. 容量评估

压测方式 :

  • 单机压测

    • tcpcopy线上引流:多台引一台或放大流量倍数

    • 调整nginx权重

  • 服务池压测

    • 机房间流量切换

    • 线上逐步503服务器从nginx摘除

  • 资源容灾压测

    • touchstone:基于tc(延迟)和iptable(封禁)


评估结果

  1. 单机能承载的最大qps

  2. 服务池能承载的最大qps

  3. 水位预警

        


6. 干预方式


降级

  • 接口降级

    • 整个接口降级 

    • 接口及参数匹配 

  • 非核心路径降级

  • 依赖资源降级

    • mc、redis、db、http、mcq


封杀

  • uid

  • appkey

  • ip


切流量

  • DNS层

  • Nginx层


动态扩容:基于docker和阿里云的动态扩容方式可以实现10分钟扩容上百台前端机的能力,期待春晚依赖混合云顺利度过流量高峰。(完)


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
优酷土豆的Redis服务平台化之路
10w的QPS应用实战:从Redis到Aerospike,我们踩了这些坑 Aerospike是NoSQL解决方案,支持RAM和SSD
从 0 开始构建一个亿级请求的微服务架构
聊聊我们是如何做系统保障方案的
为什么大型互联网都需要网关服务?
基于 Spring Boot 2.1.0 、Vue 的前后端分离的权限管理系统
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服