zoukankan      html  css  js  c++  java
  • xxxx系统提高可用性和易用性的建议

    对于该系统的可用性来说。网站的可用性度量,应达到3个9的标准。
    那么如何才能提高系统的可用性,首先最基本的是采用较昂贵的硬件设备,这样宕机的概率会小一些。如果采用PC级服务器、开源的数据库和操作系统,这些廉价的设备在节约成本的同时也降低了可用性。既然硬件故障是常态,那么就要通过网站的高可用架构设计保证服务器硬件故障时服务依然可用、数据依然保存并能够被访问。实现该架构的手段是:数据和服务的冗余备份及失效转移。当一些服务器宕机。就将服务切换到其他可用的服务器上,如果磁盘损坏,则从备份的读取数据。
    该网站分为三层架构,数据层、服务层、应用层。应用层负责具体的业务逻辑处理,应用层通过用户界面与用户进行交互,并且调用服务层的各种可服用服务。服务层负责提供可复用的服务。数据层负责数据的存储与访问。例如普通用户进行填报,先要调用登陆服务,然后进入用户界面,进行填报操作,网站调用数据层数据库服务,将数据存储。
    位于应用层的服务器常为了应对高并发的访问请求,会通过负载均衡设备将一组服务器组成一个集群共同对外提供服务,当负载均衡设备通过心跳检测等手段监控到某应用服务器不可用时,就将其从集群列表中剔除,并将请求分发到集群中其他可用的服务器上,使整个集群保持可用,从而实现应用高可用。服务层的服务器与应用层相类似。数据层需要在数据写入时进行数据同步复制,实现数据冗余备份。当服务器宕机时,应用程序将访问切换到有备份数据的服务器上。
    还有别的一些可用行服务策略:分级管理,因为提交征集表比查看更重要所以,提交的等级比查看等级高。超时设置,设置服务调用的超时时间,一旦超时,通信框架就抛出异常,应用程序根据服务调度策略,可选择继续重试或将请求转移到提供相同服务 的其他服务器上。异步调用,应用对服务的调用通过消息队列等异步方式完成,避免一个服务失败导致整个应用请求失败。服务降级,在网站访问高峰,可以拒绝低级应用的调用,关闭部分不重要的服务。等幂性设计。
    网站架构要有伸缩性,不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力。
    实现网站伸缩性可以分离网站的不同功能,有两种分离方法,纵向分离将业务处理流程上的不同部分分离部署;横向分离,将不同的业务模块分离部署。然后使用服务器集群,将相同服务部署在多台服务器上构成一个集群整体对外提供服务。通过负载均衡器对服务器进行调整。

  • 相关阅读:
    转 无障碍阅读 role aria-*
    (转)edm注意事项
    Spring IOC机制之使用注解配置bean
    Spring IOC机制使用SpEL
    使用Spring IOC容器引用外部属性文件
    如何将属性文件中的值保存到类中
    基于XML的类的属性的装配
    Java——事务
    Eclipse中使用Spring IOC容器的具体方法
    Java之批处理的实现
  • 原文地址:https://www.cnblogs.com/zuhaoran/p/6565442.html
Copyright © 2011-2022 走看看