稳定性生产总结

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

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

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

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

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

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

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

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

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

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

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

(一)架构设计

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

(二)容量设计

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

(三)运维方案设计

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

(四)安全设计

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

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

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

(一)稳定性建设需求分析

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

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

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

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

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

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

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

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

(二)稳定性建设实现分析

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

1、服务实现流程分析

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

2、强弱依赖分析

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

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

3、部署架构分析

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

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

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

(三)稳定性建设活动

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

1、建设稳定性保障机制

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

2、建设组织保障能力

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

3、建设稳定性保障体系

包括如下内容:

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/508213.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Express.js项目实战(1)—— 我的藏书馆

首先新建文件夹——myLibrary 在vscode中点击文件>点击 Duplicate Workspace(以工作区的方式打开文件夹myLibrary) 点击duplicate Workspace(打开工作区) 之后,会出现以下界面 点击打开文件夹,选择新建的文件夹,会出…

小黑逆向爬虫探索与成长之路:小黑独立破解毛毛租数据加密与解密

前言 有道和招标网的加密入口定位在前面两期做了详细的介绍,本小结将通过简单的关键词搜索定位到加密与解密入口 数据接口寻找与请求 根据响应数据长度,确定数据接口,发现传入的参数需要加密,响应的结果需要解密,后…

为什么鸿蒙系统那么火,就业岗位却很少?而且很少有公司愿意培养新人?

近期某乎上有这么一则问答提问:“为什么鸿蒙系统那么火,就业岗位却很少?而且很少有公司愿意培养新人?” 都说2024是原生鸿蒙的关键一年,华为鸿蒙各种大动作也没有停过。根据智联招聘数据显示,2023年9月-12月,鸿蒙相关职位数同比…

【Linux入门】Linux简史

Linux 是什么?Linux 是一款叫做操作系统的软件。 操作系统这款软件有什么样的意义呢?简单来说,比如有顾客买了一台笔记本电脑,这台笔记本电脑由电脑硬件组成,在这堆硬件上一定搭载了一款操作系统。正因为操作系统存在&…

【Unity每日一记】这些时间成员变量你是否清楚(Timescale,Time.deltaTime,Time.unscaledDeltaTime等)

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

dockerfile制作-pytoch+深度学习环境版

你好你好! 以下内容仅为当前认识,可能有不足之处,欢迎讨论! 文章目录 文档内容docker相关术语docker常用命令容器常用命令根据dockerfile创建容器dokerfile文件内容 docker问题:可能的原因和解决方法示例修改修改后的D…

C++笔记:命名空间

引入&#xff1a; 平常&#xff0c;我们在进行C编写时&#xff0c;一般我们都会默认在开始去写这样的代码&#xff1a; #include<iostream>//包含头文件using namespace std;//展开命名空间 这里就出现了与C语言不同的地方&#xff1a;这里的命名空间就是C对于C语言进…

Linux:Patch补丁、Diff使用

what的问题 diff命令&#xff0c;记录两个文件的差别&#xff0c;通过diff得到一个patch文件&#xff0c;也应用patch到另外一个文件&#xff0c;通过patch命令 diff and patch are intended to be used on text files. why的问题 Reason 1: diff can be useful by itself t…

如何实现多个PDF文件合并为一个PDF文件

公众号&#xff1a;程序员白特&#xff0c;欢迎一起交流学习~ hi&#xff0c;我是白特。 最近看到一个功能&#xff0c;十分感兴趣&#xff0c;也就是我们要将多个文件服务器中的PDF文件合并为一个PDF文件并以此进行下载打印操作。 那么直接让我们一起看下它的实现思路吧。 …

OpenHarmony实战:硬件适配之HCS应用

一、HCS 配置管理 HCS(HDF Configuration Source)是 HDF 驱动框架的配置描述参数文件&#xff0c;内容以 Key-Value 为主要形式。它实现了配置代码与驱动代码解耦&#xff0c;便于开发者进行配置管理。 HC-GEN(HDF Configuration Generator)是 HCS 配置转换工具&#xff0c;可…

Git、TortoiseGit、SVN、TortoiseSVN 的关系和区别

Git、TortoiseGit、SVN、TortoiseSVN 的关系和区别 &#xff08;二&#xff09;Git&#xff08;分布式版本控制系统&#xff09;:&#xff08;二&#xff09;SVN&#xff08;集中式版本控制系统&#xff09;&#xff08;三&#xff09;TortoiseGit一、下载安装 git二、安装过程…

“转行做程序员”很难?这里有4个建议

近几年来&#xff0c;传统行业多处于经济下行&#xff0c;加上互联网行业的赚钱效应&#xff0c;想要转行到这一行的人越来越多&#xff0c;其中程序员这个行业更是很多人梦寐以求的。 但另一方面&#xff0c;我们也发现&#xff0c;这些想要转行的同学们往往会遇到很多困扰。…

企业员工在线培训系统功能介绍

随着信息技术的飞速发展&#xff0c;企业员工培训方式正逐步从传统的面授转向灵活高效的在线培训。一个综合性的企业员工在线培训系统能够为员工提供多样化的学习资源、便捷的学习途径和有效的学习监督&#xff0c;以下是该系统的主要功能详细介绍&#xff1a; 1. 课程功能 线…

如何应对光模块故障,只需一条命令!

你们好&#xff0c;我的网工朋友。 是设备就有故障&#xff0c;光模块也不例外&#xff0c;而且很多项目的故障首先要排除光模块的问题。 像光模块型号选用是否正确&#xff1f; 使用的跳线是否正确&#xff1f; 交换机接口是否用匹配&#xff1f; ....各种各样的问题&…

MySQL中count(*) 和 count(1)区别

MySQL 中 count(*) 和 count(1) 的异同 count() 函数的基本原理 语法&#xff1a; COUNT(expr)其中&#xff1a; expr 可以是字段名、常量、表达式或星号 (*)。 用法&#xff1a; count() 函数用于统计满足特定条件的记录数量。它可以有以下几种用法&#xff1a; 1. 统计…

【带你了解下前端开发语言有那些】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

JavaEE初阶之线程安全(一)

目录 题外话 正题 1.线程调度是随机的 2.修改共享数据 知识点 线程同步机制 线程异步机制 举例说明 synchronized() 知识点 举例说明 举例代码详解 死锁 举个例子: 代码 小结 题外话 这两天忽冷忽热的感冒了,昨天状态特别不好断更了一天,今天继续加油! 我会把…

【RT_Thread】---stm32f407zgt6使用env配置工程

用rt_thread env配置工程 1. git rt_thread 源码 2.找到对应芯片厂家扳机支持包 3 重新命名一个自己项目的工程 4 打开env 配置驱动 具体参考官方&#xff1a;Env 用户手册 (rt-thread.org) 5 修改路径为英文 6 修改完boad init 就应该可以用了(还有系统时钟不然会有问题)…

基于stm32的h5的spi屏幕调试

基于stm32的h5的spi屏幕调试 本文目标&#xff1a;基于stm32的基础实验 按照本文的描述&#xff0c;应该可以跑通实验并举一反三。 先决条件&#xff1a;装有编译和集成的开发环境&#xff0c;比如&#xff1a;Keil uVision5、STM32CubeMX 使用外设&#xff1a;GPIO、SPI …

Redis中的复制功能(一)

复制 概述 在Redis中&#xff0c;用户可以通过执行SLAVEOF命令或者设置slaveof选项&#xff0c;让一个服务器去复制(replicate)另一个服务器&#xff0c;我们称呼被复制的服务器为主服务器(master)&#xff0c;而对主服务器进行复制的服务器则被称为从服务器(slave),如图所示…