新浪微博基于混合云的PHP服务化与弹性扩容
从后端来讲,新浪微博可以分为Java和LNMP两大体系,特别是在LNMP方面积累了很多经验。发展初期,新浪微博侧重从性能角度出发,做架构方面的调整和优化。近两年,它投入人力、物力,把重点放在了弹性扩容方面。 本文由在新浪微博工作近七年、现任主站研发负责人的侯青龙分享新时代下的 LNMP 架构,基于混合云平台的 PHP 弹性扩容部署方案,以及具体维护过程中遇到的挑战。 新浪微博遭遇流量峰值挑战 新浪微博作为社交产品,经常出现因某些原因所致的话题突发流量峰值,且峰值不可预估。例如: ● 紧急突发事件:白百合×××、周一见、宝宝离婚、女排夺冠 ● 大型活动及三节保障:红包飞 ● Push 推送:运营的各种站内,站外 push 话题业务的流量特点 话题业务的特点是平时流量比较平稳,波动很小,一旦出现突发事件,10 分钟时间流量就会突增 2-3 倍。像这样的流量,一般持续时间不会长,约 1 个小时左右。 从架构角度,如何处理? 新浪微博在做架构调整之前,和很多公司的处理方案都相似,采用设备冗余与服务降级两大传统手段。 设备冗余。各业务提前申请足够的设备保证冗余,正常情况下一台服务器 CPU 约在...