可用性和可修改性战术分析

网站的可用性描述网站可有效访问的特性。相比于网站的其他非功能特性,网站的可用性更牵动着人们的神经,大型网站的不可用事故直接影响公司形象和利益,许多互联网公司都将网站可用性列入了工程师的绩效考核,与奖金升迁等利益挂钩。

   网站不可用也被称作网站故障,业界通常用多少个9来衡量网站的可用性,如QQ的可用性是4个9,即QQ服务99.99%可用,这意味着QQ服务器要保证其在所有运行时间中,只有0.01%的时间不可用,也就是一年中大约最多53分钟不可用。由于可用性影响因素很多,对于网站整体而言,达到4个9,乃至5个9的可用性,处理过硬的技术,大量的设备资金投入和工程师的责任心,还要有个好运气。

   可用性指标是网站架构设计的重要指标,对外是服务承诺,对内是考核指标。从管理层面,可用性指标是网站或者产品的整体考核指标,具体到每个工程师的考核,更多的是使用故障分。故障分=故障时间(分钟)X 故障权重。有时候一个故障责任可能由多个部门或团队来承担,故障分也会相应按责任分摊到不同的团队和个人。

   不同于其他架构指标,网站可用性更加看得见摸得着,跟技术、运营、相关各方的绩效考核息息相关,因此在架构设计与评审会议上,关于系统可用性的讨论与争执总是最花费时间与精力的部分。

   通常企业级应用系统为提高系统可用性,会采用较昂贵的软硬件设备。实现高可用架构的主要手段是数据和服务的荣誉备份及失效转移,一旦某些服务器宕机,就将服务切换到其他可用的服务器上,如果磁盘损坏,则从备份到磁盘读取数据。

网站升级的频率一般都很高,大型网站一周发布一次,中小型网站一天发布几次。每次网站发布都需要关闭服务,重新部署系统,整个过程相当于服务器宕机。因此网站的可用性架构设计不但要考虑实际的硬件故障引起的宕机,还要考虑网站审计发布引起的宕机,二后者更加频繁,不能因为系统可以接受偶尔的停机故障就降低可用性设计的标准。

  应用层主要处理网站应用的业务逻辑,因此有时也称作业务逻辑层,应用的一个显著特点就是应用的无状态性。由于负载均衡在应用层实际上起到了系统高可用的作用,因此即使某个应用访问量非常少,只用一台服务器提供服务就绰绰有余,但如果需要保证该服务器高可用,也必须至少部署两台服务器,使用负载均衡技术个欧建一个小型的集群。

  可复用的服务器模块为业务产品提供基础公共服务,大型网站中这些服务通常都独立分布式部署,被具体应用远程调用。可复用的服务和应用一样,也是无状态的服务,因此可以使用类似负载均衡的失效转移策略实现高可用的服务。除此之外,具体实践中,还有以下几点高可用的服务策略。1)分级管理 2)超时设置 3)异步调用  4)服务降级 5)幂等性设计

  回顾网站架构发展历程,网站架构发展史就是一部不断向网站添加服务器的历史。只要工程师能向网站的服务器集群中添加新的机器,只要新添加的服务器能线性提高网站整体服务处理能力,网站就无需为不断增长的用户和访问而焦虑。

  将不同功能分离部署可以实现一定程度的伸缩性,但是随着网站访问量的逐步增加,即使分离到最小力度的独立部署,单一的服务器也不能满足业务规模的要求。因此必须使用服务器集群,即将相同服务部署在多态服务器上构成一个集群整体对外提供服务。具体来说,集群伸缩性又可分为应用服务器集群伸缩性和数据服务器集群伸缩性。

  开发低耦合系统是软件设计的终极目标之一,这一目标驱动着软件开发技术的创新与发展,从软件与硬件的第一次奋力到操作系统的诞生;从汇编语言到面向过程的开发语言,砸到面相对对象的编程语言。可以说,度量一个开发框架、设计模式、编程语言优劣的重要尺度就是衡量它是不是让软件开发过程和软件产品更加低耦合。

原文地址:https://www.cnblogs.com/zhangbaohai/p/8632532.html

时间: 2024-10-12 13:41:49

可用性和可修改性战术分析的相关文章

基于《河北省重大技术需求征集系统》的可用性和可修改性战术分析

架构在软件发明时的N多年以前,就已经存在了,这个词最早是跟随着建筑出现的. 架构的定义:体系架构包含建筑的过程和规划,产品设计,以及建筑和其他物理结构. 架构的产生:最开始的产生,是在原始生活中通过每个人完成不同的分工,以使得使得每个个体都拥有生活必须品,而不需要每个个体做所有的事情,只需要每个个体做好自己擅长的事情,并具备一定的交易能力即可.形成社会架构. 重新定义架构:把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使

简要分析《XXX需求征集系统》采用的可用性和可修改性战术

        网站的页面能完整呈现在最终用户面前,需要经过很多个环节,人一个环节出了问题,都可能导致网站不可访问.DNS会被劫持,网卡会送掉,程序有Bug等等,要保证一个网扎很难永远完全可用几乎是一件不可能完成的使命. 1.了解网站可用性的度量与考核. 度量 1. 业界通常用多少个9来衡量网站可用性. 2. 网站不可用也称网站故障. 3. 网站不可用时间公式:网站不可用时间(故障时间)= 故障修复时间点-故障发现(报告)时间点 4. 网站年度可用性指标公式:网站年度可用性指标 =(1-网站不可

《信息领域热词分析》系统安全性战术分析

安全性战术是为了保护系统安全方面,安全性是衡量系统在向合法用户正常提供服务的情况下,阻止非授权使用的能力.安全性战术主要包括抵抗攻击的战术.检测攻击的战术和从攻击从恢复的战术.对于这方面的技术,当前的我们知道的知识不多,因此可以参考了一下网上的资料. 一.抵抗攻击: 最简单的就是用户的信息保护,如注册登陆,用户注册的密码可以采用MD5加密,这是一种安全性非常高的加密算法,由于这种加密的不可逆性,在使用10位以上字母加数字组成的随机密码时,几乎没有破解的可能性.下面是实例: 1 //用户登录信息查

《大型网站技术架构:核心原理与案例分析》结合需求征集系统分析

阅读<大型网站技术架构:核心原理与案例分析>第五.六.七章,结合<河北省重大技术需求征集系统>,列举实例分析采用的可用性和可修改性战术,将上述内容撰写成一篇1500字左右的博客阐述你的观点. 阅读了<大型网站技术架构:核心原理与案例分析>的第五章,对可用性有了一定的了解,可用性的度量与考核.对高可用的网站架构有了一定的认识.互联网公司更多地采用PC级服务器.开源的数据库和操作系统,这些廉价的设备在节约成本的同时也降低了可用性,特别是服务器硬件设备,低价的商业级服务器一年

质量属性战术-易用性战术

软件质量属性包括:可用性.可修改性.性能.安全性.可测试性.易用性,其中易用性关注的是对用户来说完成某个期望任务的难易程度,主要分为一下几个方面:有效性.错误避免及错误处理.用户自信和满意度.易用性战术的目标是为用户提供适当的反馈和协助.易用性与用户完成期望任务的难易程度以及系统为用户提供的支持种类有关. 易用性战术分为运行时战术.系统主动战术 运行时战术:通过为用户提供关于系统正在做什么的反馈,以及为用户提供发出基于易用性命令的能力来增强易用性,如帮助.撤销.取消等. 系统主动战术: 系统主动

课堂作业05 《6种质量属性战术》

实现xxxx系统质量属性战术 1.可用性战术:错误检测战术 对XXXX系统的所有信息的输入及数据处理进行异常的处理.尤其对信息进行填报时,编写异常类来捕获异常. 2.易用性战术:设计战术 (1)在进行归口部门填写时,可以使用搜索词进行提示,方便进行填写. 在填写需求征集表格时,对于用户已注册填写过的基本信息,可以折叠,看起来更加简洁明了. (2)将用户接口与应用的其余部分分离开来:为方便用户接口的修改.将用户操作界面与实现分开实现. 3.可修改性战术:局部化修改 设计登陆的泛化模块,不同身份登陆

作业04之《大型网站技术架构:核心原理与案例分析》阅读笔记

在这一节课上,我们学习了系统质量属性其中的可用性和易用性.那么质量属性是什么呢,质量属性是高于对系统功能(即对系统能力.服务和行为)的基本的要求的.系统质量属性讲重点放在了可用性.可修改性.性能.安全性.可测试性和易用性.从设计师方面,系统质量属性一般存在三个问题:(1)为属性提供的定义并不是可操作的.(2)重点通常是一个特定的方面属于哪个质量属性.(3)每个属性团队都开发了其自己的词汇. 今天我们就根据<大型网站技术架构:核心原理与案例分析>将重点放在可用性和易用性的学习讨论上以及将其方法和

作业五之系统设计时所实现的质量属性战术

一.可用性战术 恢复或修复错误是可用性的重要方面 战术:异常,识别错误的一个方法就是遇到了异常,异常战术在一个进程中操作. 写action时需要加上异常处理,异常处理常被用到与数据库交互的地方,也是传递操作信息的好方法,比如保存成功或失败了都可以用抛出异常和接受异常来处理要显示的信息. 二.易用性战术 易用性战术与用户完成期望任务的难易程度以及系统为用户提供的支持种类有关.我们的系统填报信息时需要必要的智能联想. 三.可修改性战术 战术:维持语义的一致性,某一个模块只负责一小部分的功能.将系统分

实现xxxxxxx系统六大质量属性战术

一.可用性 错误检测战术:对XXXX系统的所有信息的输入的数据进行异常处理.在<xxxxxxx需求系统>中,在填写表格时,通过异常类来捕获输入的异常. 二. 可修改性战术1)功能模块划分独立,封装变化点,降低模块依赖性,接口保持不变,能够适应需求变更,需求变更只需做局部化少量修改:2)使用ODBC操作数据库:3)采用配置文件,使得用户可灵活设置想要的功能: 三.易用性 1)界面风格统一,操作简单.2)界面与业务逻辑分离. 四.性能战术 优化算法,提高效率,降低系统运行反应的时间. 五.安全性战