网站建设高可用体系化建设

除了从概念上重视系统研发生命周期的各个阶段外,真正构建高可用性系统还需要一整套工具系统的支持,包括压力测量系统、管理控制系统、监控系统,一个回收系统和一个测量系统。1压力测试系统压…

除了从概念上重视系统研发生命周期的各个阶段外,真正构建高可用性系统还需要一整套工具系统的支持,包括压力测量系统、管理控制系统、监控系统,一个回收系统和一个测量系统。1压力测试系统压力测试系统是测试过程中发现问题的重要手段。压力测试除了有助于发现功能异常外,还可以发现一些不易发现的问题,如系统在高压下的性能,在线系统的容量比是否合理,系统的容灾保护是否到位等。压力测试一般分为单系统压力测试和全链路压力测试。我们所说的压力测试是在线真实生产环境中的压力测试。(1) 单系统压力测试相对容易实现,并且有多种实现方法。一种方法是分流流量,即将在线集群中的流量集中到少数机器上。当这些机器的流量变大时,就会达到瓶颈,从而获得单台机器的最终性能。可根据单机性能计算。显示整个群集的性能。由于这是一个真正的在线用户的访问请求,这种排水方法不会产生额外的测试数据,因此它适用于读写系统。另一个是扩大交通。例如,通过Tcpcopy工具,可以将一个请求复制到多个重复请求中;另一种方法是针对页面类型系统,它可以注入一些JavascriptnewImage.r-http://item.beta.taobao.com/tem.htm?id fitemld)请求此页面时,会自动向服务器发送额外的请求,这样用户就可以帮助我们创建流量,达到压力测试的目的。当然,这种方法会产生压力测试数据,所以它只适用于读系统而不适用于写系统。(2) 全链路压力测试全链路压力测试是目前比较好的一种能够产生较大在线流量的方法。其优点是可以将线路上的所有系统串联起来,并允许每个系统同时达到峰值流量(尤其是公用系统),因此适用场景较多,但实施成本相对较高。全链路压力测试技术难度不大。技术手段主要包括流程制造、流程标记、测试数据处理和全链路压力测试架构。除了控制流量大小的能力外,发起流量的物理网络位置应该能够确保流量是从不同的地理位置发起的。流量启动器可以部署在不同地点的CDN节点上,同时也考虑了不同的网络运营商,以便更好地模拟真实用户的请求。流量标记流量产生后,需要对其进行标记,因为它们属于测试流量,它们的数据是测试数据,不能与线路上的实际数据相混淆。标记流量的方法有很多种:一种是设计不同的数据,例如产品数据的产品ID以999开头,订单ID在一个特殊的区域中设置;第二种是为每个请求粘贴一个tace标签,每个系统调用都可以识别tace标签。它一方面可以进行一些特殊的处理,比如取消令牌验证,另一方面也可以路由到一个特殊的数据表。tace的传播是一个难题。最好的方法是通过中间件来完成它:从最外层的HTP协议,tace被添加到报头,到应用程序的RPC调用,它也可以被添加到协议头,然后添加到数据层。另外,最重要的是确保race标记不能被删除,否则会出现脏数据。测试数据的处理测试数据的处理是最关键的环节。因为这是一个真实在线生产环境中的压力测试,所以对生成数据的处理不会影响在线的真实数据。在这方面,我们提出了影子表的概念,它与在线的真实表完全相同,甚至与真实表在同一个数据库实例中使用。此请求需要写入的数据通过传递的tace标记路由到shadow表。这样,测试流量的读写都是在shadow表中完成的,不会影响线路上的真实数据。通过阴影表隔离测试数据是非常重要的。如果把它们放在一起,会造成很多麻烦,而且不容易清理。即使可以清理,也会影响正式表的主键生成规则,影响下游的BI数据分析和一些监控。指示灯显示等2。管理和控制系统管理和控制系统主要提供在遇到一些异常情况时保护系统的措施,包括开关系统、预先计划系统、限流和降级系统。1) 交换系统交换机系统主要管理一些常用的在线操作,特别是一些具有联动功能的操作。统一管理可以降低出错的概率。网站建设切换系统不仅要支持基于内存和持久性的操作模式,还要支持单机和集群的灵活操作模式。

作者: guangdongseo

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部