Twitter时常会因为某个热点事件导致系统压力突增,例前两年日本的“天空之城”事件使Twitter创造了新的发推记录,之前是每秒1万条左右,因为这个事件,突然达到了每秒3.4万条,而Twitter的系统并没有受到多大影响 ,顺利支撑住了 Twitter的技术副总曾在InfoQ的访谈聊过他们的做法,我个人对其内容的总结主要有两点,一是预演,二是预案 Twitter在平时会对系统做大量的压力测试,对产品功能做极端测试,模拟各种意外情况 事件带来的压力,之前是没有实际经验的,但压力测试早已把系统推向了那个高度,所以,当它发生时,只是一次真实的验证 极端测试 对产品不断的进行各种极端情况的测试,来了解产品的实际反应 还会进行故障模拟,随机的杀掉数据心里的一些机器 ,并要求保证服务正常 形成预案 在平时的大量测试工作总结积累各种问题及其处理方案 每个系统都必须整理出他的运行条件是什么、哪些情况会导致他的崩溃……,作紧急情况下的指导文档 虽然不可能想到所有的情况 ,但至少会列出测试发现的那些问题,并指明处理 还有一个巨大的玻璃墙,上面记录着关键信息,在问题发生时能够帮助进行快速决策 提前做好准备、想好出现问题时处理,是保证稳定性的重要思路