zoukankan      html  css  js  c++  java
  • 河北省重大系统征集系统案例分析

        

    网站的可用性描述网站可有效访问的特性,相比于网络的其他非功能的特性,网站的可用性更能牵动人们的神经。因为,大型网站如果发生不可用的事故,将直接的影响公司的形象及利益,所以,网站的可用性及其重要。正如《大型网络技术架构:核心原理与案例分析》中提到,百度被黑客攻击,其DNS域名被劫持,导致百度全站长达数小时不可访问。对百度的影响力很大。一时成为了新闻热点。对于网站的可用性,需要经过多个环节来考核,任意环节出问题,都将会影响到整个网络。而对于《河北重大需求技术征集系统》而言,自己所做的这个小型网站,根本是经不起“网络可用性的度量与考核”,所以为了实现这属性,就要实现可用性战术。同理,也要实现可修改性战术。通常为了提高系统的可用性,会采用较昂贵的软硬件设备。即是高可用的网站架构,其主要目的就是保证服务器硬件故障时服务依然可用、数据依然保存并能够被访问。实现的手段是数据和服务的冗余备份及失效转移。

        首先,可以从网站架构出发。如经典型的分层模型MVC,即应用层、服务层、数据层。应用层主要负责具体业务逻辑处理;服务层负责提供可复用的服务;数据层负责数据的存储与访问。在复杂的大型网站架构中,划分的粒度会更小、更详细,结构更加复杂,服务器规模更加庞大,但还是能够将其划分到应用层、服务层和数据层。

        其次,利用Session存储和访问要求。在《河北重大需求技术征集系统》中,需要记录用户提交过的需求表,以及删除过的、修改过的、被审核过的需求表。而这些信息都是状态不同的同种信息。这些运用到了数据库,在这些需求表的基础上进行包装,使其符合Session的存储和访问的要求。对于有状态的Session服务器,比较简单的方法是利用分布式缓存、数据库等,在这些产品的基础上进行包装,使其符合Session的存储和访问要求。如果业务场景对Session管理有比较高的要求,比如利用Session服务集成单点登录、用户服务等功能,则需要开发专门的Session服务管理平台。

        对于异步调用,这一点,《河北重大需求技术征集系统》未完成此项要求。如提交一个新用户注册请求,应用需要调用及格服务,这几个服务之间并未实现异步调用的方式。

        其次,还包括数据备份。《河北重大需求技术征集系统》对应的数据库,借助相应的数据库工具,能够很好的实现数据库的备份的工作。数据备份是一种古老而有效的数据保护手段,早起的数据备份手段主要是数据冷备,即定期将数据复制到某种存储介质上并物理存档保管,如果系统存储损坏,name就从冷备的存储设备中恢复数据。

        正如这门书中所举例:京东网。由于大量的用户访问,导致网站服务的不可用,这其实正是缺少可用性方面。

        对于网站架构的伸缩性设计,包括根据功能进行物理分离实现伸缩和单一功能通过集群实现伸缩。这些,对于《河北重大需求技术征集系统》来说,还是大材小用。其伸缩性往往是和可用性、正确性、性能等耦合在一起,改善伸缩性也可能会影响网站的其他特性。所以,可以加大对伸缩性的关注度。

        扩展性,是指现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。表现在系统设施稳定不需要经常变更,应用之间较少依赖和耦合,对需求变更可以敏捷响应。伸缩性,是指系统能够通过增加(减少)自身资源规模的方式增强(减少)自己计算处理事务的能力。在网站架构中,通常利用集群的方式增加服务器数量、提高系统的整体食物吞吐能力。对于扩展性和伸缩性,这两个概念不是特别能分得清楚。都是与可用性相关,与软件质量属性相关的。

        可修改性是有关变更的成本问题,它提出两个关注点:可以修改什么(制品)?何时进行变更以及由谁进行变更(环境)?以我的理解,是当修改外界的设计时,不影响内部的逻辑。在《河北重大需求技术征集系统》中,是主要是用到MVC模式,将各个功能块分层。

  • 相关阅读:
    Anroid自定义RatingBar,显示半个(小数个)的stepSize时,变为整数个的问题
    浅谈Java对象回收的三种方式
    今天为火狐社区做了点小小的共享,开心一下~~
    解决mac的日历问题:服务器响应一个错误
    android.content.res.Resources$NotFoundException:String resource ID #ffffffff
    Android 读写文件的第一种方式(文件方式)
    ListView的性能提升
    C++中的回调函数实现,sink方式
    技巧:Activity收集器
    技巧:知晓当前在哪个Activity
  • 原文地址:https://www.cnblogs.com/x-m-/p/8627269.html
Copyright © 2011-2022 走看看