上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第1章
理解、测量和提高可用性
重大赛事
今天是周日—观看重大赛事的日子。你邀请了最好的20位朋友到家里来,打算在新买的300英寸Ultra Max TV上观看这次比赛。所有人都来了,你的房子里放满了零食和啤酒,每个人都在大笑。比赛就要开始了,然后……
灯灭了……
电视不亮了……
对于你和你的朋友来说,比赛也结束了。
失望至极。你拨打当地电力公司的电话。服务人员冷冷地说:“很抱歉,我们只能保证当地电网95%的可用性”。
为什么可用性很重要?因为你的用户期待你能在任何时间都提供服务。任何小于100%可用性的系统都会对你的业务带来灾难性的后果。
如果你的系统有很多不错的功能但是没法使用,那么没人会关心你的系统本身如何。
在设计面向可伸缩的系统架构时,最重要的一个话题就是可用性。虽然有些公司和服务认为一定的宕机时间是合理且允许的,但是对于大多数业务来说,宕机不可能不影响用户的满意度,甚至最终会影响到公司的发展。
以下是所有公司在确定系统可用性对公司和用户的重要程度时,必须问自己的一些基本问题。这些问题本身,以及其显而易见的答案,就是为什么可用性对可伸缩性是如此重要的核心:
为什么要从你这里买?
如果用户在需要使用你的服务的时候却不能用,他们为什么要买你的服务?
你的客户会怎么想?
如果用户在需要使用你的服务的时候却不能用,他们会有什么样的想法和感受?
你的客户高兴吗?
如果你的服务不可用,你如何能让用户感到高兴、给公司赚钱、达成你的商业承诺和目标呢?
只有系统是可用的,才有可能让用户感到高兴并愿意使用你的系统。因此,系统可用性和用户满意度之间存在着直接且重要的联系。
高可用性对于构建高可伸缩系统是一个极其重要的因素,因此我们在本书中会花费很大篇幅来讨论这个话题。当面临大量的业务需求时,你如何构建一个高可用的系统(服务、应用程序或者环境)呢?