首页 > 代码库 > xx系统属性分析

xx系统属性分析

  在本周的课程学习当中,我们简单了解到系统的一些属性,同时在课下也对《大型网站技术架构:核心原理与案例分析》进行了初步的阅读。

在书籍中我看到了许多其他的知识,也对课堂学习的知识有了巩固,现在针对xx系统,做一个简单的系统属性分析。

  在对系统进行简单的分析之前,我们先回顾一下系统的一些属性。

      首先是可用性,可用性与系统故障以及其后果有关,当系统不再提供其规范中所说的服务时,就出现了系统故障。而可用性是指系统正常运行

时间的比例,他的比值为:平均正常工作时间/(平均正常工作时间+平均修复时间)。

  可用性指标是网站架构设计的重要指标,网站可用性看得见,摸得着,跟技术、运营、相关各方的绩效考核息息相关。一个典型的网站设计遵

循基本分层架构模型即应用层、服务层、数据层。应用层主要负责具体业务逻辑处理;服务层负责提供可复用的服务;数据层负责数据的存储和访

问。网站的可用性架构设计不但考虑实际的硬件故障引起的宕机,还要考虑网站升级发布引起的宕机。高可用的服务策略包括分级管理、超时设置

和服务降级(关闭非核心服务)等。高可用的数据是最宝贵的资产,保证数据存储高可用的手段主要是数据备份和失效转换机制。数据备份可以实

现数据完全的持久化,失效转换机制是为了保证系统可用。保证网站高可用,万无一失,是一个艰难的过程,还需要更多努力。

      然后是易用性,易用性关注的是用户完成某个期望任务的难易程度。它包括了:有效性、错误避免以及错误处理、用户自信和满意程度等。其

实就是说用户使用某项功能是否觉得简单易用。

      那么对于我们现在正在编的这个系统,如何提高他的可用性与易用性呢,《大型网站技术架构》给了我们合理的解决方案。网站的可用性,网

站的可用性一般通过可用性指标来度量,包括2个9, 3个9, 4个9等学习度量指标。它用网站每年最长的故障时间来进行度量。事实上网站的故障

是不可避免的,我们要做的就是尽量降低故障发生的概率。首先我们要学会的就是对系统的分层,通常将系统分为3层,即业务层、服务层和数据层。

这样的分层有利于在故障发生时,准确定位故障,并及时解决故障。而当网站的规模比较大,有较多的用户同时访问时,我们可以交给集群服务器,

然后进行负载均衡,将流量和数据分摊到集群的多台服务器上,提高整体的处理能力,提高可用性。Session管理,在集群环境中,Session管理主

要有Session复制、Session绑定、用Cookie文件记录Session等方法,提供分布式的缓存。除此之外,还有以下几个方法提高可用性。分级管理,

将服务器进行分级管理,核心应用和服务优先用更好的硬件,这样会提高运行的速度;超时设置,由于服务器宕机、线程死锁等原因,使用户长时间

得不到响应,同时还占用应用程序的资源,所以我们要设置服务器超时时间,一旦超时就抛出异常;异步调用,就是将一个服务分成多步,这样就不

会因为一个服务失败导致整个应用的请求失败;服务降级,就是说在网站访问的高峰期,拒绝访问低优先级的服务,节约资源,使服务器避免全部死

机。接下来是一些数据的提高可用性的方法,保证数据高可用手段主要是数据备份和实效转移机制。其中要重点说一下的是代码管理,这里提到Github,

并且预测将成为版本管理的主要软件,我觉得有必要系统的学习一下。

      对于网站的易用性,就是然后觉得简单易用的一些处理机制,首先我们可以提高网页的打开速度,再好的网站打开速度慢,也就失去了用户,我

们可以尽量少使用图片,合理设计数据库结构;让网站更加易于操作,如设计一些合理的快捷键,尽量不用动鼠标就不动鼠标;站在用户的角度考虑

问题,多从用户的视角体验网站、多与用户交流、多挖掘用户的需求,让网站做到一切都是从用户的角度出发。

  每个系统都会有自己的特性,我们必须学会针对不同的系统做出不同的分析,但同时我们也应该总结出自己的一套方法,才能更好的对系统进行分析。

同时也可以更好的积累经验。

xx系统属性分析