上QQ阅读APP看书,第一时间看更新
1.2 应对不断扩大的挑战范围
在客户-服务器系统盛行的那段轻松悠闲的日子里,系统的用户也就几十或几百人,并发用户最多也只有几十个。今天,我们通常会发现,活跃用户的数量大于整个大洲的人口数量。这指的可不只是南极洲和大洋洲!第一个拥有10亿用户的社交网络已经诞生,而且这绝对不会是最后一个。
对系统正常运行时间的要求也提高了。相比曾经主机与其系统管理员间著名的“五个9”运行时间,现在即便是最普通的商务网站,也期望能达到“24乘7乘365”。(这个说法一直困扰着我。作为工程师,我认为应该要么说“24乘365”,要么说“24乘7乘52”。)显然,考虑到软件如今的规模,我们已经取得了长足的进步。但是随着用户触点的增加和系统规模的扩大,系统遭到破坏的方式也会翻新,环境会变得更加恶劣,人们对缺陷的容忍度会变得更低。
这个正在不断扩大的挑战范围,即以低成本快速构建和运维对用户有益的软件,要求我们持续改进架构和设计技术。当把适用于小型WordPress网站的设计,应用于大规模的分布式事务系统时,会出现重大系统故障。后文会谈一些重大系统故障的案例。