做业四如何提升系统的可用性和易用性

阅读《大型网站技术架构:核心原理与案例分析》第5、6、七章,结合咱们的系统,分析如何增长相应的功能,提升系统的可用性和易用性。算法

      这三章主要讲述的是网站的可用性、伸缩性和可扩展性。服务器

      高可用架构是万无一失的。要保证一个网站永远彻底可用几乎是一件不可能完成的任务。咱们经过一个神奇的数字9来度量网站可用性,采用故障分来考核网站可用性。可用性指标是网站架构设计的重要指标,网站可用性看得见,摸得着,跟技术、运营、相关各方的绩效考核息息相关。一个典型的网站设计遵循基本分层架构模型即应用层、服务层、数据层。应用层主要负责具体业务逻辑处理;服务层负责提供可复用的服务;数据层负责数据的存储和访问。网站的可用性架构设计不但考虑实际的硬件故障引发的宕机,还要考虑网站升级发布引发的宕机。高可用的服务策略包括分级管理、超时设置、服务降级(关闭非核心服务)等。高可用的数据是最宝贵的资产,保证数据存储高可用的手段主要是数据备份和失效转换机制。数据备份能够实现数据彻底的持久化,失效转换机制是为了保证系统可用。保证网站高可用,万无一失,是一个艰难的过程,还须要更多努力。架构

      对于咱们的系统来讲,友好的界面风格,简单便捷的操做,合理的结构布局,良好的提示是必要的,对提升易用性非常有帮助。表格的设计须要提供给使用者好的视觉效果,减小给操做者带来视觉疲劳,操做提示应易于理解,使用准确恰当的语言。三级菜单的实现算法要以时间复杂度为标准,显示快,无需等待。负载均衡

      网站的伸缩性永无止境。所谓网站的伸缩性,指不须要改变网站的软硬件设计,仅仅经过改变部署的服务器数量就能够扩大或者缩小网站的服务处理能力。要实现网站的可伸缩性,关键技术就在于如何构建良好的服务器集群。要达到良好的目标,就要求每次扩容和减小服务器时,对整个网站的影响是最小的。CAP原理就是选择强化分布式存储系统的可用性和伸缩性,而在某种程度上放弃一致性。CAP原理对于可伸缩的分布式系统设计具备重要意义,不恰当地迎合各类需求,可能会使设计进入两难境地,难觉得继。咱们的系统有大量的统计数据。咱们的网站随时都有可能进行修改,好比发布新功能,这时就须要在服务器上关闭原有的应用,从新部署新的应用,整个过程要求不影响用户的使用。为了把对用户的影响下降到最小,一般使用发布脚原本完成发布。通过严格的测试,软件部署到服务器仍是会出现问题,主要缘由就是测试环境和线上环境并不相同,因此咱们在网站发布时,要把测试经过的代码先发布到预发布机器上,确认系统没有问题后才正式发布。分布式

     咱们的系统面向的用户多,范围广,经过不断地向集群中添加服务器来加强整个集群的处理能力,这就是网站系统的伸缩性架构,网站以此手段不断提高本身的规模,这个演化过程整体来讲是渐进式的。网站的伸缩性设计可分为两类,一类是根据功能进行物理分离实现伸缩、一类是单一功能经过集群实现伸缩。其中HTTP请求分发配置即负载均衡服务器,实现负载均衡的基础技术主要有HTTP重定向、DNS域名解析、反向代理、IP、数据链路层负载均衡。伸缩性和可用性、正确性、性能等耦合在一块儿。伸缩性是复杂的,没有通用的、完美的解决方案和产品,但有不少这方面的案例可供借鉴。一个具备良好伸缩性的网站,其设计老是走在业务发展的前面,在业务须要处理更多访问和处理以前,就已经作好了充分的准备,当业务须要时,只须要增长服务器并简单部署就能够了,技术团队即可轻松应对了。模块化

     可扩展架构是随需而变的。有的网站能够随时发布,新功能随时快速上线,而有的必须规定发布日,究其缘由,则依赖于网站的扩展性架构设计。扩展性和伸缩性不一样。扩展性是指对现有系统影响最小的状况下,系统功能可持续扩展或提高的能力。它是系统架构设计层面的开闭原则,架构设计考虑将来功能扩展,当系统增长新功能时,不须要对现有系统的结构和代码进行修改。设计网站可扩展架构的核心思想是模块化,并在此基础上,下降模块间的耦合性,提供模块的复用性。模块经过分布式部署,独立的模块部署在独立的服务器上集群从物理上分离模块之间的耦合关系。布局

  现现在的网站,想要引人瞩目,在激烈的竞争市场上生存下来取决于谁能更快更好地推出新产品。也就是意味着咱们须要一个更具备扩展性的网站架构实现一个效率更高、可用性更好的网站。这也就是网站架构的意义所在。性能

相关文章
相关标签/搜索