微博平台架构练级之高性能与高可用
讲师:
所属专题:
在刚刚过去的2014年马年春晚,新浪微博迎来了一次“大考”,主持人的每一次通过口播、电视二维码与新浪微博的互动,都会带来一次发表与访问的高潮。整个春晚过程中,微博发表量、访问量均创历史新高。微博平台顺利的通过了马年春晚的这次“大考”。这得益于在整个2013年中,微博平台从高可用性、高性能、高扩展性这“三高” 有针对进行了架构改造。
改造过程中也面临一些挑战,包括:
- 微博平台的接口要求响应延时控制在40ms,而每一次“刷微博”都会调用数十个服务,另外,核心业务的数据存储量达到了千亿级别,每天的访问量超千亿;
- 微博核心接口的SLA要求在99.99%,依赖的任何一个服务出现问题,都有可能影响到SLA。尤其是在这个磁盘、内存、带宽等软硬件资源频繁出问题的时代。
- 峰值,如李娜夺冠、春晚等。这要求所有的资源、服务能够有良好的可扩展性,随时进行扩容/缩容。
微博平台对整体架构进行服务化改造(包括cache、MQ以及业务服务等),通过RPC将不同的服务进行隔离,区分核心服务与非核心服务并隔离部署,降低非核心服务对核心服务的影响,服务调用均异步化并行处理,并且有过载与超时保护,在资源与服务出现问题后,通过watchman可快速发现问题服务与资源,实现快速隔离与流量迁移。
希望通过这次分享,介绍微博平台架构改造过程中踩过的“坑”及积累的经验,希望对大家有所帮助。
新浪微博系统架构师
新浪微博系统架构师,一直从事微博Feed相关系统的研发与优化, 尤其在如何保障微博平台在春节等大访问量场景下的性能、可用性做了大量的工作。近一段时间工作重点关注在移动互联网场景下,提升不同地域用户访问体验。
崇尚没有最好只有更好的工程师文化,业余时间打打乒乓,在"少年组"与"老年组"均有不错的成绩。