打造平台稳定性能力

打造平台稳定性能力,第1张

打造平台稳定性能力

1、限流和降级

限流的作用相当于电路上的保险丝,当过载的时候掐掉一些流量,让系统有能力集中资源以较快的速度处理平台处理能力范围内的业务请 求。也就是上面大促场景中,仅让1000万用户中 的100万用户进入后端的处理流程中,将其余900 万用户的请求通过队列排队或直接阻挡在平台处 理单元之外的方式,保障平台能在处理能力范围 内对100万的用户请求进行处理。平台要具备限流的能力,首先需要对服务部署的能力有一个准确的评估,知道服务实例的部署量到底最大能满足多少业务请求的处理要求。使用压测进行分析统计,像阿里巴巴中间件团队针对这个问题,开发了线上压测工具,能更方 便和准确地对服务的容量进行评估,即获取到该 服务所能提供的最大处理能力。

在实际中,都会通过服务的QPS作为限流的关键判 断指标。

阿里巴巴是通过在Nginx上实现的扩展组件 TMD(Taobao Missile Defense,淘宝导d防御系 统)实现了接入层限流的主要工作,TMD系统可 通过域名类限流、cookie限流、黑名单以及一些 安全策略等很好地实现了在接入层的限流措施。

它主要用于当访问负载和内存达到一定的阀值之时,会执行相应的动作,比 如直接返回503,504或者其他URL请求返回代 码,一直等到内存或者负载回到阀值的范围内, 站点恢复可用。

当然,针对限流等问题阿里还整了一套Sentinel哨兵平台,提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。

除了限流可以起到第一层的保护作用外,我们还 可以将那些之前标记为弱依赖的服务平滑下线, 也就是让订单创建的处理流程中去掉那些弱依赖 的服务调用,达到将节省出的系统资源更好地服 务于核心服务的运行;又或者在大促时,某核心 服务依赖了某一个非核心的服务,但发现因为这 个非核心服务的处理性能和服务响应时间较长, 导致了当前核心服务的处理出现了瓶颈,这时为 了保证核心服务的正常处理,就需要在核心服务 业务逻辑中对于那个非核心服务的调用暂时停 止。这样类似的场景就称为服务降级,即从服务 调用者的角度,对所依赖的下游服务采取停止调 用的措施,以保证当前服务的处理效率。

2、流量调度

阿里巴巴中间件团队实现了针对分布式服务系统的流量调度平台,用于屏蔽所有机器的软硬件差异,根据机器的实时服务能力来分配机器的实时流量。对实时服务能力好的机器多分配流量;对实时服务能力差的机器减少流量分配;对实时服

务能力不可用的机器迁移流量。让因为软件或者硬件带来的单点、局部问题发生时,不会影响整体业务的稳定运行。

实现原理

流量调度的核心是通过秒级获取服务器系统 运行指标以及业务指标,通过流量调度平台设置 的决策算法以及规则,当发现满足规则条件的指 标状态发生时,对线上环境的服务器进行下线等 *** 作,以屏蔽这些单点或局部出现故障的应用实 例对整体平台产生扩展式的影响。

例如会收集系统指标信息:CPU、Load等。业务指标信息:HTTP响应时间、HSF服务 调用响应时间、HTTP QPS、HSF QPS、Tomcat线 程池使用信息、HSF线程池使用信息。

 在收集到这些实时指标值后,一旦判断为故障现象,则执行对线上流量调度的执行。当发现某些服务提供者出现服务响应慢或系统资源负 载飙高时,实时降低对该服务器的服务路由权重 (甚至直接降为0),最终达到通过自动化的流 量调度来隔离故障。

3、业务开关

除了上面小节中提到实现服务降级中需要对 代码中static值的修改,还有对应用不同版本的兼 容,不同时间点走不同的优惠服务等这样的需求 时,也都是采用类似业务开关的方式,通过修改 程序中的static值实现业务逻辑的切换。早期这样 的业务开关都是由各个部门自行实现和管理。随 着这些业务开关的数量逐渐增多,大量的业务开 关信息都分布到不同的系统,甚至代码中,造成 运维的成本越来越大。所以集团开发出了一套统 一标准和规范的业务开关管理Switch平台。

4、容量压测

全链路压测是阿里全系统每个环节都参加的 双11实战演习,主要对零点峰值流量进行评估, 以及对网站承压能力进行测试,是双11前为系统 查缺补漏的重要一环。全链路压测平台通过应用 系统改造使线上环境可以同时处理正常流量和测 试流量,以支持线上不影响正常用户访问的集群 读写压测,获得最真实的线上实际承载能力数据。

5、业务一致性平台

实时业务审计平台(BCP),平台并不仅限于交易类业务,也适合其 他对业务稳定性要求比较高的领域。平台的目标 是在每个上线的业务都能形成一对一的监控与检 测,并形成一个规范的业务上线、订正流程。BCP平台实现了以下4个主要目标:

1)高实时性地发现业务脏数据或错误逻辑 实现,第一时间发现并及时通知技术保障人员, 而不是等客户反馈。

2)方便地接入各种业务规则,通过脚本规 则编写的方式,让各应用快速接入业务审计平 台。

3)整合订正工具,形成规范的赃数据订正 流程。

4)业务上线的实时监控,新上线业务可以 很方便地进行校验。

***********************************************************************

【如果文字看累了,可b站搜索“沙皮狗2021”,用听的方式领略知识的魅力】

   传送门 :https://space.bilibili.com/407643589

【微信公众号】:沙皮狗2021

***********************************************************************

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5684563.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存