共享服务体系搭建-平台稳定性

2020-03-12  本文已影响0人  AvenCui
3-11学习笔记

1.服务中心应具备业务能力的持续扩展,以满足新业务的接入;

2.在高负荷下保持稳定的服务能力;

3.活动中渡过访问峰值;

4.机房断电或通信电缆故障的情况下,保障平台持续稳定运行。

共享服务中台的角度:应用架构设计和中间件平台的维度

1.限流和降级

场景:

    1)核心服务不加限制被调用;

    2)大促活动,预估100万人,瞬间1000万人

限流的作用相当于电路上的保险丝,当过载的时候掐掉一些流量,让系统有能力集中资源以较快的速度处理平台处理能力范围内的业务请求。

具备限流(平台接入层)的能力:

    ①对服务部署的能力有准确的评估,部署量最大能满足多少业务请求;(压力测试)

    ②要针对服务资源的使用情况进行监控;(超过服务处理上限则启动限流)

    ③最优的限流拦截点在前端接入层面;(TMD(Taobao Missile Defense,淘宝导弹 )防御系统)

    ④给用户返回限流页面。

(服务层)限流控制:

传统的实现方式通常使用Spring的AOP机制,问题:

    1)应用与拦截器数量配置过多;

    2)限流阀值是硬编码形式(一般采用static值),阀值修改繁琐,也没有统一的管理和配置;

    3)单单在服务端的限流手段太过单一,需要结合服务调用上下游进行更灵活的设置;

    ...

改进:限流平台Sentinel

基础概念:资源和策略,对特定的资源采取不同的控制策略,起到保障应用稳定性的作用

涵盖了授权、限流、降级、调用统计监控四大功能模块:

·授权——通过配置白名单与黑名单的方式对HSF的接口和方法进行调用权限的控制;

·限流——对特定资源进行调用的保护,防止资源的过度调用;

·降级——判断依赖的资源的响应情况,当依赖的资源响应时间过长时进行自动降级,并且在指定的时间后自动恢复调用;

·监控——提供了全面的运行状态监控,实时监控资源的调用情况(QPS、响应时间、限流降级等信息)。

Sentinel平台架构示意图

服务降级,即从服务调用者的角度,对所依赖的下游服务采取停止调用的措施,以保证当前服务的处理效率。

2.流量调度

背景:为增加机器的利用率,采用超配方式,造成在业务繁忙时,应用出现资源争抢,导致应用出现服务响应慢甚至挂起,影响整个业务链路。

影响原因:

    1)分布式服务环境调用链路局部问题会被放大到整个链路;

    2)单点、局部问题会被放大成面。、

解决方案:流量调度平台

核心原理:通过秒级获取指标,通过流量调度平台设置的决策算法以及规则,对线上环境的服务器进行下线等操作,以屏蔽出现故障的应用对整体产生影响。

Switch平台:统一管理和规范业务开关。实现开关的可视化管理和监控。

//当发现升级后的应用出现问题时,只需通过开关切换的方式就能让升级后的应用秒级切换到升级前的业务代码中。HOW

4.容量压测及评估规划

传统测试缺陷:测试场景简单、没有对比关系、准确性取决于测试人员的经验和水平。

解决方案:系统容量压测和评估的自动化平台

原理:通过对生产环境上的流量模型引流到压测服务器上,获取到服务实例单机最大处理能力,结合不同型号服务器处理能力以及生产环境的水位监控信息,对服务集群所需部署的服务器数量进行容量评估及预测。

优点:实用,准确,高效

应用系统容量预测的实现原理:容量压测,容量分析预测

5.全链路压测平台

是双11实战演习,主要对零点峰值流量进行评估,以及对网站承压能力进行测试。

包含:1.基础数据抽取;2.链路与模型构造 ;3.链路验证;4.业务改造;5.数据平台;6.流量平台 ;7.影子表;8.中间件改造 ;9.安全机制 

6.业务一致性平台

业务与数据不一致的问题

实时业务审计平台BCP:解决平台服务化后越来越凸显的业务一致性问题。

通过事件模式,把业务数据变化触发的消息转换为相应业务类型的事件,放入到事件执行队列进行规则检查

上一篇下一篇

猜你喜欢

热点阅读