大型网站技术架构,5网站的高可用架构之高可用网站的软件质量保证

5.6 高可用网站的软件质量保证

在网站运维实践中,除了网络、服务器等硬件故障导致的系统可用性风险外,还有来自软件系统本身的风险。

本节不再赘述传统的软件测试和软件质量保证管理,而是讲一些不同的质量保证手段。

5.6.1 网站发布

网站的发布过程事实上和服务器宕机效果相当,其对系统可用性的影响也和服务器宕机相似。

由于应用的不断发布,用户需要面对的是每周一到两次的宕机故障。

但是,网站发布毕竟是一次提前预知的服务器宕机,所以过程可以更柔和,对用户影响更小。通常使用发布脚本来完成发布,其流程如下图

发布过程中,每次关闭的服务器都是集群中的一小部分,并在发布完成后立即可以访问,因此整个发布过程不影响用户使用。

5.6.2 自动化测试

虽然是系统功能的小幅增加,但是全面的回归测试需要的。此外还需要测试各种浏览器的兼容性。

在发布频繁的网站应用中,如果使用人工测试,成本、时间及测试覆盖率都难以接受。

Web自动化测试技术,使用自动测试工具或脚本完成测试。

Selenium运行再浏览器中,模拟用户操作进行测试,因此Selenium可以同时完成Web功能测试和浏览器兼容测试。

大型网站通常也会开发自己的自动化测试工具,可以一键完成系统部署,测试数据生成、测试执行、测试报告生成等全部测试过程。

5.6.3 预发布验证

测试通过的代码包发布到预发布环境机器上,开发工程师和测试工程师再预发布环境进行预发布验证,执行一些典型的业务流程,确认系统没有问题后才正式发布。

预发布服务器和线上正式服务器唯一不同的是没有配置在负载均衡服务器上,外部用户无法访问。

预发布服务器和线上服务器都部署在相同的物理环境中,使用相同的线上配置,依赖相同的外部服务。

网站工程师通过在自己的开发机器上配置hosts文件绑定域名IP关系直接使用IP地址访问预发布服务器。如果在预发布服务器上执行的测试验证是正确的,基本可以确保线上正式服务器部署时也没有问题。

但是,预发布也可能引入问题。因为预发布服务器连接的是真实的生产环境,所有的预发布验证操作都是真实有效的数据,这些操作也许会引起不可预期的问题。比如创建一个店铺,上架一个商品,就可能有真的用户过来购买,如果不能发货,会导致用户投诉。

快速失败,如果系统在启动时发现问题就立刻抛出异常,停止启动让工程师介入排查错误,而不是启动后执行错误的操作。

5.6.4 代码控制

原文地址:https://www.cnblogs.com/wozixiaoyao/p/11498592.html

时间: 2024-10-04 22:55:16

大型网站技术架构,5网站的高可用架构之高可用网站的软件质量保证的相关文章

大型网站技术架构(五)--网站高可用架构

大型网站技术架构(一)--大型网站架构演化 大型网站技术架构(二)--架构模式 大型网站技术架构(三)--架构核心要素 大型网站技术架构(四)--网站的高性能架构 网站的可用性(Avaliability)描述网站可有效访问的特性. 1.网站可用性的度量与考核       网站不可用时间(故障时间)=故障修复时间点-故障发现(报告)时间点       网站年度不可用时间=(1-网站不可用时间/年度时间)× 100% 可用性指标时网站架构设计的重要指标,对外是服务承诺,对内是考核指标,具体到每个工程

大型网站技术架构 读书笔记4 高可用架构

说句掏心窝的话,高可用甚至比高性能更重要.为什么? 因为你把系统的性能优化10倍,你的老板可能会说:小董呀,干的不错. 可是,如果你负责的模块,三天两头就宕掉了,嘿嘿,你懂得. 可用性度量 99%-----网站年度不可用时间小于88个小时 99.9%---网站年度不可用时间小于9个小时 99.99%---网站年度不可用时间小于53分钟 高可用架构 一般的互联网公司大多采用pc级服务器,开源的数据库和操作系统,这样来说,当然节省成本,不过另一方面来说,服务器宕机就是一个大概率事件了. 所以,高可用

大型网站技术架构(五)--网站高可用架构(转)

网站的可用性(Avaliability)描述网站可有效访问的特性. 1.网站可用性的度量与考核       网站不可用时间(故障时间)=故障修复时间点-故障发现(报告)时间点       网站年度不可用时间=(1-网站不可用时间/年度时间)× 100% 可用性指标时网站架构设计的重要指标,对外是服务承诺,对内是考核指标,具体到每个工程师,更多的是使用故障分.      所谓故障分是指对网站故障进行分类加权计算故障责任的方法.如下是个案例: 分类 描述 权重 事故级故障 严重故障,网站整体不可用

《大型网站技术架构》读书笔记之六:永无止境之网站的伸缩性架构

此篇已收录至<大型网站技术架构>读书笔记系列目录贴,点击访问该目录可获取更多内容. 首先,所谓网站的伸缩性,指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力.在整个互联网行业的发展渐进演化中,最重要的技术就是服务器集群,通过不断地向集群中添加服务器来增强整个集群的处理能力. 一.网站架构的伸缩性设计 1.1 不同功能进行物理分离实现伸缩 (1)纵向分离:将业务处理流程上得不同部分分离部署,实现系统的伸缩性: (2)横向分离:将不同的业务模块分离部署

《大型网站技术架构》读书笔记之八:固若金汤之网站的安全性架构

此篇已收录至<大型网站技术架构>读书笔记系列目录贴,点击访问该目录可获取更多内容. 一.网站应用攻击与防御 二.信息加密技术与密钥安全 三.信息过滤与反垃圾 四.电子商务风险控制 五.学习总结 转眼之间,<大型网站技术架构>的读书笔记到此就结束了.最近时间非常紧,因此本篇没有详细对笔记进行介绍(本篇涉及太多内容,而且都是安全相关的).通过本书的学习,我们从高性能.高可用.伸缩性.可扩展性.安全性五个方面的架构学习了每个方面经典的技术方案,虽然以理论偏多,但还是可以从中管中窥豹,一览

《大型网站技术架构核心原理与案例分析》阅读笔记-01

通过阅读该书籍我们能够更加清楚的树立大型网站的的技术发展历程,剖析大型网站技术架构模式,深入的讲述大型互联网架构核心原理,并通过一些典型的技术案例来讲述大型网站开发全景视图,该书籍深入的阐述了各种大型网站面临的各种架构问题及解决方案. 在第一章第一篇大型网站架构演化中了解到与传统企业应用系统相比,大型互联网应用系统具有高并发大流量.高可用性.海量数据.用户分布广泛,网络情况复杂.安全环境恶劣.需求快速变更,发布频繁.渐进式发展等特点:大型网站架构演化发展历程经历了初始阶段的网络架构它的应用程序.

大型网站技术架构(一):大型网站架构演化

第一章:大型网站架构演化 九层之台,始于垒土:千里之行,始于足下. 对于网站的发展,亦是如此,从上世纪90年代开始,互联网经历了20多年的发展,发生了翻天覆地的变化,今天,全球有一半的人使用互联网,从信息检索到实时通信,从电子购物到文化娱乐,互联网渗透到了生活的每一个角落.但是,构建一个高性能的网站,绝非一朝一夕可以完成,我们来看下,作为一个大型网站系统应有的特点: 1.大型网站系统应有的特点 高并发,大流量:需要面对高并发用户,大流量访问.举个例子,去往迪拜的飞机有200张票,但是有100w人

《大型网站技术架构-核心原理与案例分析》之一: 大型网站架构演化

最近刚刚读完李智慧的<大型网站技术架构-核心原理与案例分析>,对每章重点内容作了一些笔记,以便加深印象及日后查阅. 一.大型网站软件系统的特点 高并发,大流量:需要面对高并发用户,大流量访问. 高可用:系统7X24小时不间断服务. 海量数据:需要存储.管理海量数据,需要使用大量服务器. 用户分布广泛,网络情况复杂:许多大型互联网都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别. 安全环境恶劣:由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会被黑客攻击. 需求快

大型网站技术架构笔录(1):演化

一)大型网站软件系统特点: 1)高并发.大流量:想想每年双十一 2)高可用:7*24小时不间断服务 3)海量数据:存储管理海量数据 4)用户分布广泛,网络情况复杂 5)安全环境恶劣:黑客,黑客,黑客 6)需求快速变更,发布频繁:快速适应市场,满足用户需求 7)渐进式发展:大型网站都是从小网站开始的 二)大型网站架构演化过程 1)初始阶段网站架构:应用程序.数据库.文件等所有资源都集中在一台服务器,LAMP架构. 瓶颈:各种压力大,不说了. 2)将应用和数据库从物理上分离,变成了3台机器. 应用服