今天读了《大型网站技术架构:核心原理与案例分析》的第五章——万无一失:网站的高可用架构。作者在文章开篇就向我们讲述了互联网方面历史上出现的重大事故导致的网站不可用事件,并以此来引出了网站可用性的重要性。网站可用性描述网站可有效访问的特性(不同于另一个网站运营指标:Usability,通常也被译作可用性,但是后者强调的是网站的有用性,即对最终用户的使用价值),相比于网站的其他非功能特性,网站的可用性更牵动人们的神经,大型网站的不可用事故直接影响公司形象和利益,许多互联网公司都将网站可用性列入工程师的绩效考核,与奖金升迁等利益挂钩。网站可用性的度量与考核,网站可用性度量是通过多少个9来衡量网站的可用性,如QQ的可用性是4个9,即QQ服务99.99%可用,这意味着QQ服务要保证其在所有运行时间中,只有0.01%的时间不可用,也就是一年中大约最多53分钟不可用。网站不可用时间(故障时间)=故障修复时间点-故障发现(报告)时间点,网站年度可用性指标=(1-网站不可用时间/年度总时间)*100%。网站可用性考核中可用性指标是网站架构设计的重要指标,对外是服务承诺,对内是考核指标。从管理层面,可用性指标是网站或者产品的整体考核指标,具体到每个工程师的考核,更多的是使用故障分。故障分是指对网站故障进行分类加权计算故障责任的方法。故障分的计算公式为:故障分=故障时间(分钟)*故障权重。通常企业级应用系统为提高系统可用性,会采用较昂贵的软硬件设备。互联网公司更多地采用PC级服务器、开源的数据库和操作系统,这些廉价的设备在节约成本的同时也降低了可用性,特别是服务器硬件设备,低价的商业级服务器一年宕机一次是一个大概率事件,而那些高强度频繁读写的普通硬盘,损坏的概率则要更高一些。网站的高可用架构设计的主要目的就是保证服务器硬件故障时服务依然可用、数据依然保存并能够被访问。