稳定性生产秘籍大公开

简介: 本文探讨了分布式系统的稳定性建设,目标是降低故障发生和影响。关键措施包括系统高可用、高性能、高质量(三高)以减少发生,及早感知、快定位、急止损以减轻影响。量化指标有业务可用程度(如SLA、RTO、RPO)、用户影响程度和资产损失程度。稳定性建设模式涉及架构设计(去除单点、强弱依赖等)、容量设计、运维方案(变更管控、可观测性等)和安全设计。建设路径包括需求分析(确认分析对象和确定服务需求)和实现分析(服务流程、依赖分析、部署架构等)。建设活动涵盖稳定性保障机制、组织能力和体系构建。最终,通过统一的系统化管理能力和故障数据复盘来持续优化和保障稳定性。

本文我们来谈下稳定性生产这个话题,稳定性建设目标有两个:降发生、降影响,

在降发生中的措施是做到三点:系统高可用、 高性能、 高质量,三高问题确实是一个很热的话题,里面涉及很多点。

在降影响中要做到早感知、 快定位、 急止损,这三点也需要很多的技术配合才可以做到的。那么量化的指标有哪些呢?现在认识到的有这三个:业务可用程度、用户影响程度、资产损失程度 。

在业务可用程度中我们最关注SLA、 RTO、 RPO。

SLA是Service Level Agreement的缩写,中文翻译为“服务级别协议”。它是一种协议约定,旨在保证服务提供商和客户之间的服务质量达到一定水平。SLA通常用于商业、技术和服务行业,以确保双方在合作过程中达成一致的服务标准。通常以百分比表示,用于衡量服务系统的可用时间,例如99.9%表示系统的可用时间为99.9%。

RTO含义为恢复时间目标,Recovery Time Objective,是指在发生灾难性事件后,业务系统或业务流程需要恢复正常运行所需的时间。较短的RTO通常需要更多的投入和成本,但可以最大程度地减少业务中断时间。

RPO含义为恢复点目标,Recovery Point Objective,是指在发生灾难性事件时,组织愿意丢失的数据量,或者说允许数据恢复到之前状态所允许的最大时间间隔。RPO标志着对数据容忍的程度,较短的RPO意味着组织可以容忍较小的数据丢失。

在用户影响程度中比较关注用户数量和用户级别两类数据。

在资产损失程度关注有形资产和无形资产两个指标。

一、分布式系统稳定性建设模式

那怎样完成降发生和降影响两个目标呢,那就需要一个好的建设模式,稳定性建设模式是指在开展稳定性建设工作过程中应重点关注的技术方法或方案,这里面有一系列技术模式来支撑稳定性能力实现。主要技术有架构设计、容量设计、运维方案设计、安全设计四个方面。

1、架构设计  

在架构设计中有五项内容做好就比较好了,分别是:去除单点、强弱依赖设计、关键数据保护、灾备设计、弹性设计。

2、容量设计  

容量设计中首先要做好数据增长预测,这里面包括网络流量 、消息量等。也要关注内部资源使用情况,资源的伸缩性,IDC容量 ,一些弹性设计,链路分析。

3、运维方案设计  

在运维方案中,我们要做好变更管控 、可观测设计 、演练设计这三点。

4、安全设计  

在安全设计中,要做好系统安全设计、部署与操作系统安全、数据安全、网络安全这几个方面。

二、分布式系统稳定性建设路径  

那我们在实际工作中怎样进行建设呢?需要做两件事:需求分析和实现分析。

1、稳定性建设需求分析  

需求分析可以分为确认分析对象主体和确定服务需求两部分。

对象主体通常可以是一个应用系统,通常以独立的应用系统为分析对象,如聊天软件。

也可以是一组应用系统:通常以业务场景为主体对象关联,如电商订单支付关联,如微信聊天关联系统。

也可以是一个架构域:通常一个架构域内的重要性应用系统都会有一定的内在联系,以架构域为对象能够尽可能避免可能发生的对长尾业务场景的忽视。

确定了对象主体后,我们需要确定主体的三个方面需求,分别是:

主体提供的服务是系统服务,还是页面表现服务,还是restful服务或者终端设备交易服务等;

使用场景是有哪些业务和系统流程,存在于这些业务系统流程对应的上下游服务有哪些;

确定服务的重要性等级,一个服务的重要性由强依赖它的最高服务等级决定,根据各服务的重要性等级,确定对象稳定性需求。

2、稳定性建设实现分析  

进行需求分析后,我们在来进行实现分析,

1)服务实现流程分析

需要分析明确服务的实现流程,如服务实现的UML活动图、UML序列图或者业务依赖流程图。

2)强弱依赖分析

对于系统的每一个依赖,都要识别出以下几点:依赖强弱、同步或异步、依赖权重。

针对具体的服务类型,还需要针对性的开展依赖分析,如数据库依赖、系统间的协作关系、硬件服务依赖、基础技术服务依赖等。

3)部署架构分析

稳定性建设工作开展前需分析各个实现组件的生产部署架构,明确系统有哪些部分组成,以及明确系统间的协作关系,如集群划分、集群的 大小、集群IDC分布、网络拓扑等

4)访问模式与访问量分析

如果访问量、访问模式和业务量之间有关系,请明确关系函数,如果不明确,则要通过测试估算出三者之间的关系。

3、稳定性建设活动    

进行分析之后,那我们就要着手进行建设了,这些建设活动涉及人员、机制和文化,全方位的建设活动才能更好地落实建设模式。下面我们看下需要做哪些?

1)建设稳定性保障机制

其中包括:规范编制、方案评审机制、测试准入准出机制、值班及责任判定机制、能力考核机制、故障管理机制。

2)建设组织保障能力

包括人力资源支持、技术资源支持、组织优化

3)建设稳定性保障体系

包括如下内容:

 在建设之后,我们可以依照如下指标来进行衡量建设的效果

以上就是我们本期稳定性生产方面的内容了,故障的发生是复杂多样的,需要多个技术团队的协同保障系统稳定,所以需要统一的系统化稳定性管理能力作为“连接器”实现多个团队的协同透明化作战,并进一步通过故障应急结果数据复盘,数据化风险趋势以确定建设重点,标准化故障管理流程,以提升故障管理效率,定义业务或者服务的slo以结构化,来保障稳定性能力。

目录
相关文章
|
10天前
|
人工智能 分布式计算 数据可视化
大模型私有化部署全攻略:硬件需求、数据隐私、可解释性与维护成本挑战及解决方案详解,附示例代码助你轻松实现企业内部AI应用
【10月更文挑战第23天】随着人工智能技术的发展,企业越来越关注大模型的私有化部署。本文详细探讨了硬件资源需求、数据隐私保护、模型可解释性、模型更新和维护等方面的挑战及解决方案,并提供了示例代码,帮助企业高效、安全地实现大模型的内部部署。
28 1
|
4月前
|
移动开发 小程序 JavaScript
跨端技术问题之小程序渠道环境的差异带来了什么样的挑战
跨端技术问题之小程序渠道环境的差异带来了什么样的挑战
|
4月前
|
存储 数据采集 监控
量化交易开发正式版丨量化交易系统开发策略项目/指南功能/方案需求/案例设计
量化交易系统开发策略的指南可以涵盖以下几个关键方面:
|
4月前
|
机器学习/深度学习 算法 定位技术
环境系统工程是系统工程的一个分支,它特别关注于环境问题的系统分析和解决方案。
环境系统工程是系统工程的一个分支,它特别关注于环境问题的系统分析和解决方案。
|
5月前
|
人工智能 自然语言处理 搜索推荐
关于代购系统带来的便利性的研究报告
**摘要:** 代购系统研究报告揭示了其在跨越地域限制、提供多样化商品、节省消费者时间和成本方面的显著便利性。该系统通过商品展示、订单管理等功能,实现全球化购物。用户反馈显示高满意度,但也存在物流延迟和商品质量顾虑。代购系统促进了跨境消费,改变了消费观念,并带动相关产业。面对法规挑战和市场竞争,未来将倚重技术创新和服务升级以实现规范化发展。
|
5月前
|
存储 小程序 前端开发
用云开发快速制作客户业务需求收集小程序丨实战
用云开发快速制作客户业务需求收集小程序丨实战
|
区块链 存储 数据库
量化合约跟单系统开发源码部署|量化交易系统开发(成熟案例)
在去中心化架构下,没有中心化机构的垄断,每个节点都是独立的
|
6月前
|
数据采集 监控 安全
量化交易源码开发丨量化交易系统开发成熟技术/教程方案/策略指南
定你的量化交易系统的需求和目标,包括交易策略、数据来源、风险管理等。
|
存储 分布式计算 算法
转:如何利用素数算法加强企业文档管理软件的效能和安全性
利用素数算法来加强企业文档管理软件的效能和安全性,可是个有趣的法子。这可不只是在电影里才看得到的情节,素数算法可以在好几个方面给软件的性能和安全性添点料。下面就来看看有哪些酷炫的方式吧——
88 0
|
API 数据库
量化交易系统开发代码部署方案丨合约量化系统开发技术成熟源码流程
量化交易系统开发代码部署方案丨合约量化系统开发技术成熟源码流程
159 0