首页 > 代码库 > 增加系统功能提高可用易用性

增加系统功能提高可用易用性

    网站的可用性是网站的非功能特性之一。网站不可用被称作网站故障,业务通常用n个9来衡量网站的可用性。两个9(99%)是基本可用,三个9(99.9%)是较高可用,四个9(99.99%)是高可用,五个9(99.999%)是极高可用。

    使系统高可用,通常采用较昂贵的软硬件设备。硬件故障是常态,网站的高可用架构设计的主要目的就是保证服务器在出现故障时,服务依然可用,数据依然可访问。

    应用的一个特点是无状态性,即指应用服务器不保存业务的上下文信息。通过负载均衡进行无状态服务的失效转移。高复用的服务模块为业务产品提供基础公共服务,高可用的服务策略有分级管理、超时设置、异步调用、服务降级、幂等性设计。数据持久性、数据可访问性、数据一致性是高可用数据的几个含义。数据一致性分为数据强一致、数据用户一致、数据最终一致。数据备份是古老但很有效的数据保护的方式。失效转移是在任何一台服务器宕机时,关于这台服务器所有操作都需要重新部署到其他服务器,保证数据访问不会失败。失效确认、访问转移、数据恢复组成了失效转移操作。

    高可用的网站软件质量保证经过网站发布、自动化测试、预发布验证、代码控制、自动化发布、灰度发布几个阶段。代码控制可采用主干开发、分支发布和分支开发、主干发布两种方式。

   网站的伸缩性是指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或缩小网站的服务处理能力。

   网站架构的伸缩性设计可以通过不同功能通过物理分离实现伸缩以及单一功能通过集群规模实现伸缩。应用服务器集群的伸缩性设计可以通过http重定向负载均衡、DNS域名解析负载均衡、反向代理负载均衡、ip负载均衡、数据链路层负载均衡、负载均衡算法实现。

分布式缓存集群的伸缩性设计有以Memcached分布式缓存集群的访问模型为代表的分布式缓存。

   数据存储服务器集群的伸缩性设计有关系数据库集群的伸缩性设计和NoSQL数据库的伸缩性设计。可以通过数据复制功能实现对数据库的简单伸缩。NoSQL是指非关系的、分布式的数据库设计模式。

    网站的可扩展架构,就是在对现有系统影响最小的情况下,系统可持续扩展和提升的能力。可扩展性个人感觉很重要,因为在系统越来越大的情况下,具有良好的可扩展性,有利于快速增加系统的新功能。

    通过对第五、六、七章的阅读,对于所要做的需求征集系统可以通过分层架构实现各个模块的分离,将服务器进行分级管理,超时设置,通过异步调用的方式避免服务无法执行,对数据进行备份与恢复来提高系统的可用性。而对于易用性,我们可以对于数据的输入增加智能联想来帮助用户减少繁琐的操作,还可以对某些特定的功能添加一些快捷键,使用户通过键盘快捷键操作,提升数据录入速度,对于用户的输入实时校验并反馈给用户信息等功能,来提高需求系统的易用性。

增加系统功能提高可用易用性