阅读《大型网站技术架构:核心原理与案例分析》第五、六、七章
阅读《大型网站技术架构:核心原理与案例分析》第五、六、七章,结合我们的系统,分析如何增加相应的功能,提高系统的可用性和易用性。
这三章主要讲述的是网站的可用性、伸缩性和可扩展性。
高可用架构是万无一失的。要保证一个网站永远完全可用几乎是一件不可能完成的任务。我们通过一个神奇的数字9来度量网站可用性,采用故障分来考核网站可用性。可用性指标是网站架构设计的重要指标,网站可用性看得见,摸得着,跟技术、运营、相关各方的绩效考核息息相关。一个典型的网站设计遵循基本分层架构模型即应用层、服务层、数据层。应用层主要负责具体业务逻辑处理;服务层负责提供可复用的服务;数据层负责数据的存储和访问。网站的可用性架构设计不但考虑实际的硬件故障引起的宕机,还要考虑网站升级发布引起的宕机。高可用的服务策略包括分级管理、超时设置、服务降级(关闭非核心服务)等。高可用的数据是最宝贵的资产,保证数据存储高可用的手段主要是数据备份和失效转换机制。数据备份可以实现数据完全的持久化,失效转换机制是为了保证系统可用。保证网站高可用,万无一失,是一个艰难的过程,还需要更多努力。
对于我们的系统来说,友好的界面风格,简单便捷的操作,合理的结构布局,良好的提示是必要的,对提高易用性很是有帮助。表格的设计需要提供给使用者好的视觉效果,减少给操作者带来视觉疲劳,操作提示应易于理解,使用准确恰当的语言。三级菜单的实现算法要以时间复杂度为标准,显示快,无需等待。
网站的可用性指标是网站架构设计中的重要指标,对外是服务承诺,对内是考核指标。所以说,一个高可用的网站架构是一个公司所需要具备的。而在影响网站可用性的众多因素中,硬件故障是常态,网站的高可用架构设计的主要目的就是保证服务器硬件故障时,服务依然可用、数据依然保存并能够被访问。
高可用的应用。一是通过负载均衡进行无状态服务的失效转移,简单来说当多台服务器组成的集群中的某一台服务器宕机,负载均衡服务器通过心跳检测机制发现该服务器,随后将对该服务器的请求发送到这个集群的其他服务器上;二是应用服务器集群的Session管理,集群环境下,Session管理的主要手段有:1.Session复制,使集群中的每一台服务器都保存所有用户的Session信息;2.Session绑定,即利用负载均衡的源地址Hash算法将Session绑定在某台特定的服务器上,保证Session总能在这台服务器上获取,但是一旦存放Session的服务器宕机,那么该服务器上的所有Session都不复存在了,所以很少网站用这个算法。3.利用Cookie记录Session,这种方式简单易用,可用性高,但也有一些缺点限制4.Session服务器,利用独立部署的Session服务器集群统一管理Session,应用服务器每次读取Session,都访问Session服务器。