可用性和易用性,可用性就是系统要能用,不能三天两头的出故障,这样会形成用户的大量流失。易用性是基于可用性的,在可以实用的基础上还要好用。下面说一下可扩展性。这一点主要是为了知足随时可能改变的用户需求和可能增长的系统功能。数据库
全读者三章以后,发现要改善这个系统,必需要存这三个方面入手。可用性,易用性和可扩展性。缓存
对于XXX系统,首先咱们要学会的就是对系统的分层,一般将系统分为3层,即业务层、服务层和数据层,这也是常说的MVC思想。这样的分层有利于在故障发生时,准肯定位故障,并及时解决故障,并且最好将每次发生的故障信息保存到日志文件,这样更有利于故障复原和分析。而当网站的规模比较大,有较多的用户同时访问时,咱们能够交给集群服务器,而后进行负载均衡,将流量和数据分摊到集群的多台服务器上,提升总体的处理能力,提升可用性。Session管理,在集群环境中,Session管理主要有Session复制、Session绑定、用Cookie文件记录Session等方法,提供分布式的缓存。除此以外,还有如下几个方法提升可用性。分级管理,将服务器进行分级管理,核心应用和服务优先用更好的硬件,这样会提升运行的速度;超时设置,因为服务器宕机、线程死锁等缘由,使用户长时间得不到响应,同时还占用应用程序的资源,因此咱们要设置服务器超时时间,一旦超时就抛出异常;异步调用,就是将一个服务分红多步,这样就不会由于一个服务失败致使整个应用的请求失败;服务降级,就是说在网站访问的高峰期,拒绝访问低优先级的服务,节约资源,使服务器避免所有死机。接下来是一些数据的提升可用性的方法,保证数据高可用手段主要是数据备份和实效转移机制。易用性主要表如今人机交互方面,对于有较多项的表单录入必定要将界面设计得尽可能美观,并且必定要实现减小用户操做的设计,除此以外,数据库的表结构影响网页的反应速度,因此,数据库的设计方面必定要考虑得周到全面。服务器
网站不可用也被称为网站故障,业界一般用多少个9来衡量网站的可用性,对于大多数网站而言,2个9是基本可用,网站年度不可用时间小于88小时;3个9是较高可用,网站年度不可用时间小于9小时;4个9是具备自动恢复能力的高可用,网站的年度不可用时间小于53分钟,好比QQ就是4个9;5个9是极高可用性,网站年度不可用时间小于5分钟。可用性指标是网站架构设计的重要指标,是网站或者产品的总体考核指标。网站可用性是更加看得见摸得着的质量属性,因此在架构设计上,系统可用性的部分就须要花费更多的时间和精力了。而实现高可用架构的主要手段是数据和服务的冗余备份及失效转移,一旦某些服务器宕机,就将服务切换到其余可用的服务器上,若是磁盘损坏,则从备份的磁盘读取数据。因此就咱们的《XXX系统》来讲,不是只要完成系统的功能就等于完成了这个系统,根据系统的可用性,作好数据的备份和还原是最重要的保障之一。可是咱们在设计和开发这个系统时,却把大部分精力放在了功能的实现上,这是一个很大的误区。在数据库的设计方面也是很重要的,加密存储、及时备份、保存日志都不失为是一个好的方法。保证数据的可持久存储,数据的可访问性,在数据有多份副本的状况下的一致性,均可以更好的维护咱们的系统,提升咱们系统的可用性。在服务器宕机时,进行失效转移能够保证数据访问不会失败,失效确认、访问转移、数据恢复均可以保证网站的数据不会丢失。对于咱们的这个系统,为了保障高可用运行,咱们还可使用发布脚原本完成网站的更新发布,能够减小重启服务器和从新部署,并且不会影响用户使用。架构