稳定性生产总结

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

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

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

在业务可用程度中我们最关注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以结构化,来保障稳定性能力。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows系统搭建TortoiseSVN客户端并实现无公网IP访问内网服务端

文章目录 前言1. TortoiseSVN 客户端下载安装2. 创建检出文件夹3. 创建与提交文件4. 公网访问测试 前言 TortoiseSVN是一个开源的版本控制系统,它与Apache Subversion(SVN)集成在一起,提供了一个用户友好的界面,方便用…

Wheel Controller 3D

Wheel Controller 3D是Unity内置WheelCollider的完整替代品。它允许更真实的车辆行为、完全定制和3D地面检测。 Wheel Controller 3D是Unity内置WheelCollider的完整替代品。它允许更真实的车辆行为、完全定制和3D地面检测。 如果您正在寻找包含Wheel Controller 3D的完整车辆物…

路径规划——搜索算法详解(六):LPA*算法详解与Matlab代码

上文讲解了D*算法,D*算法为在动态环境下进行路径规划的场景提出了可行的解决方案,本文将继续介绍另外一种动态规划路径的方法——Lifelong Planning A*(LPA*)算法。 该算法可以看作是A*的增量版本,是一种在固定起始点…

idea开发 java web 酒店推荐系统bootstrap框架开发协同过滤算法web结构java编程计算机网页

一、源码特点 java 酒店推荐推荐系统是一套完善的完整信息系统,结合java web开发和bootstrap UI框架完成本系统 采用协同过滤算法进行推荐 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式…

萨科微slkor(www.slkoric.com)半导体

萨科微slkor(www.slkoric.com)半导体技术总监,清华大学李老师介绍说,IGBT器件与MOSFET在技术上的主要区别在于,在IGBT芯片背面引入了一个P掺杂的集电极。从MOSFET拓展至IGBT主要存在IGBT器件设计和IGBT器件加工工艺两方…

Layui三级联动插件使用方法

Layui高版本中没有在提供三级联动这个动画了,而是封装成了一个插件,使用方式也很简单 官网 省市县区三级联动下拉选择器 layarea - Layui 第三方扩展组件平台 (layuion.com)https://dev.layuion.com/extend/layarea/#doc html页面约束 整个选择器需要…

如何在 Oracle 中使用 CREATE SEQUENCE 语句

在本文中,我们将讨论 Oracle CREATE SEQUENCE 语句,其主要目的是提供一种可靠的方法来生成唯一且连续的数值,通常用于数据库表中的主键字段。此功能对于维护数据完整性和效率、确保不同记录之间的标识符有序分配尤其重要。从本质上讲&#xf…

日记本(源码+文档)

日记本(小程序、ios、安卓都可部署) 文件包含内容程序简要说明功能项目截图客户端首页日记列表 书写日记个人中心设置密码锁拨打客服热线修改信息退出登录登录页输入密码锁注册页 后端管理登录页首页管理员列表管理用户管理日记列表管理日记数据 文件包含…

【stm32】USART编码部分--详细步骤

USART编码部分(文章最后附上源码) 如果看不懂步骤可以根据源码参考此篇文章就能轻而易举学会USART通信啦! 编码步骤 第一步 开启时钟 把需要用到的USART和GPIO的时钟打开 第二部 GPIO初始化 把TX配置成复用输出,RX配置成输入(上拉输入、浮空输入)。…

C++ 注册Nacos

下载源码: git clone GitHub - nacos-group/nacos-sdk-cpp: C client for Nacos 编译源码 cd nacos-sdk-cpp cmake . make 生成库文件 在nacos-sdk-cpp 下 注册nacos 将include 和libnacos-cli.so libnacos-cli-static.a 放入你的工程 如果Nacos服务地址:…

ExpressionUtil的应用

ExpressionUtil是什么 ExpressionUtil是一个工具类,用于处理表达式相关的操作。它提供了一些方法,方便用户在程序中处理表达式相关的计算、比较、转换等操作。例如,可以使用ExpressionUtil计算一个数学表达式的结果,比较两个表达式…

代码随想录笔记|C++数据结构与算法学习笔记-栈和队列(〇)|stack、queue、单调队列和优先级队列(priority_queue)、大顶堆和小顶堆

文章目录 stack容器stack 基本概念常用接口构造函数赋值操作数据存取大小操作 queue容器queue常用接口构造函数赋值操作数据存取大小操作 栈和队列的灵魂四问C中stack,queue是容器吗我们使用的stack,queue属于哪个版本的STL我们使用的STL中stack,queue是如何实现的?…

SAP CAP篇十六:写个ERP的会计系统吧,Part III

本文目录 本系列文章目标开发步骤数据库表设计Service 定义生成Fiori App更新CDS Annotation更新Entity: Companies更新Entity:Accounts App运行 本系列文章 SAP CAP篇一: 快速创建一个Service,基于Java的实现 SAP CAP篇二:为Service加上数据…

volatile关键字的作用

volatile 关键字告诉编译器 i 是随时可能发生变化的,每次使用它的时候必须从内存中取出 i 的值,因而编译器生成的汇编代码会重新从 i 的地址处读取数据放在 k 中。 所以说使用 volatile 声明的变量的值的时候,系统总是重新从它所在的内存读…

NLP学习路线总结:从入门到精通

自然语言处理(Natural Language Processing,NLP)是人工智能领域的重要分支,它致力于使计算机能够理解、解释和生成人类语言。NLP技术的应用范围广泛,涵盖了机器翻译、情感分析、语义理解、信息抽取等诸多领域。对于想要…

每日一题---存在重复元素(1)和(2)

文章目录 一、存在重复数组1,1.题目展示1.2.解题思路1.3.参考代码 二、存在重复元素||2.1.题目展示2.2.解题思路2.3.参考代码 大家学习完了数组,指针等内容可以进行刷题了,刷题不仅可以增加大家的代码量,也可以积累自己的经验,言归…

C语言之指针的指向地址和指针的内容总结(八十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

量化交易入门(三十九)怎么获取A股历史数据

前面我们都是以美股的苹果股票为例进行策略和技术指标的回测,量化交易对中国A股是否适用呢?我们怎么样免费获取A股的股票数据呢?我给你们介绍三个免费的数据平台Tushare 、AkShare和Baostock。 1、Tushare Tushare是一个免费、开源的Pytho…

HashMap 和 Hashtable 有什么区别?

HashMap和Hashtable在Java中都是用于存储键值对的集合,但它们之间存在几个重要的区别。 线程安全性: Hashtable是线程安全的。这意味着多个线程可以同时操作Hashtable,而不会出现数据不一致的情况。但是,这种线程安全性的代价是降…

基于决策树算法的糖尿病遗传风险预测研究

基于决策树算法的糖尿病遗传风险预测研究 一、引言 糖尿病是一种常见的慢性疾病,全球范围内患病率持续上升。遗传因素在糖尿病的发病中起着重要作用,因此,预测糖尿病的遗传风险对于早期预防、诊断和治疗具有重要意义。本研究旨在利用决策树…