分布式系统稳定性建设指南

news2025/1/18 7:24:46

来源: 中国信息通信研究院

系统稳定性能建设是一个系统化工程,需要硬件软件,需要从企业工程建设的全环节进行设计和实施,充分利用以混沌工程、全链路压测为代表的分布式稳定性保障技术,建设保障能力,改造运营流程、推进稳定性文化,保障企业系统稳定性、提升业务连续性、促进行业高质量发展。

  • 分布式系统面临稳定性保障新挑战 :由传统集中式向分布式架构演进
  • 政策引导it系统稳定性建设平稳推进

分布式系统稳定性建设总体视图

在这里插入图片描述

分布式系统稳定性建设目标

1、降发生 : 降低故障发生的概率高可用 方案设计阶段采用面向失败的理念来设计系统架构高性能通过精简主干业务逻辑,将不相干的业务异步化,实现快速的功能响应;通过缓存技术,加快数据访问的性能高质量 最佳实践经验的沉淀设立开发、运维规范可有效减少人为故障的发生通过合理的拆分理念(纵向技术分层、横向业务分区)提升系统的可维护性、可演进能力。
2、降影响:降低故障发生后的影响范围 早感知完善监控告警、可视化监控告警能力,感知系统的异常变化快定位系统对故障定位明确,故障管理机制定义完整,职责明确,流程清晰,有效提升故障发生后的处理效率急止损故障发生后的第一反应永远是 “优先止损”,在止损后再开展故障修复提前建立各种故障预案故障及时复盘,实现故障闭环。

分布式系统稳定性评价指标

  • 业务可用程度 SLA (两种计算方式:通过时间维度计算、通过用户请求状态计算。 扩展概念: RTO、RPO)
  • 用户影响程度
  • 资产损失程度 (有形资产(资金/设备/人力成本等),无形资产(社会形象/潜在商机等))

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

常见的稳定性建设模式:

架构设计
  • 去除单点

  • 依赖设计 -高等级服务不允许依赖低等级服务或资源
    在这里插入图片描述

  • 数据保护 ——提升数据安全性

  • 灾备设计

  • 弹性设计

  • 容错设计

容量设计
  • 数据增长预测
  • 网络流量
  • 消息量
  • 内部资源使用
  • 伸缩性
  • IDC容量
  • 链路分析
  • 吞吐量提升
架构设计
  • 变更管控
  • 可观测设计
  • 演练设计
安全设计

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

需求分析

从业务来,到业务去。 —— 关键原则
1、确认需求分析对象: 一个应用系统?一组应用系统?一个架构域?
2、确定被分析对象的稳定性需求

需求实现分析

采集分析与服务相关的业务、架构、设计、实现、配置、部署、硬件与软件使用信息 —— 全面了解分析对象
1、服务实现流程分析 uml活动图、uml序列图/业务流程图
2、强弱依赖分析
3、部署架构分析 (明确生产部署架构,集群划分,集群大小,集群IDC分布,网络拓扑)
4、访问模式与访问量模分析 —— 简化容量分析和规划

稳定性建设活动

1、建立稳定性保障机制

  • 规范编制 ——代码编写规范、变更规范、运维操作规范
  • 方案评审机制
  • 测试准入准出机制
  • 值班及责任判定机制
  • 能力考核机制
  • 故障管理机制
    2、建设组织保障能力
  • 人力支持
  • 资源支持
  • 组织优化
    3、建立稳定性保障体系
    在这里插入图片描述

分布式系统稳定性建设工具

分布式系统稳定性建设工具关系图,可见是一项非常庞大而复杂的工程,体系的落地并非一朝一夕可完成。故障总会发生,没有任何一项技术或者平台能够绝对规避风险,需要通过不断补全完善体系中需要的能力来最大限度降低故障概率,或提升故障应对速度。
在这里插入图片描述
在这里插入图片描述

故障预防工具
  • 可观测能力
  • 变更管理
  • 容量管理
  • 全链路压测
  • 混沌工程
故障止损工具
  • 应急平台
  • 容灾管理

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

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

相关文章

域名系统 DNS(计算机网络-应用层)

目录 互联网的域名结构 顶级域名 TLD(Top Level Domain) 域名服务器 域名系统 DNS 域名解析的过程 域名服务器的四种类型 本地域名服务器 DNS 协议 DNS缓存 DNS提供的其它服务 互联网的域名结构 域名系统 DNS (Domain Name System),实现主机名(域…

(三)HTTPTomcatServlet

一、HTTP HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 HTTP协议特点: (1)基于TCP协议:面向连接,安全 (2)基于请求-响应模型的…

漫画 | JavaScript杀死了编程......

上班路上,张大胖突然想到一个点子。晚上,张大胖开工,决定把好点子给实现了。JavaScript开发效率贼高,项目迅速完成。项目开源发布,获得了不少用户,收获了不少star,张大胖非常满意。转眼间&#…

【GlobalMapper精品教程】039:GM面状数据符号化设置案例教程

GM面状数据符号化设置案例教程。 文章目录 一、使用基于分类或自定义样式的默认样式二、对所有要素使用相同样式三、基于属性/名称值应用样式四、随机指定颜色给要素一、使用基于分类或自定义样式的默认样式 该样式类似于其他GIS软件的单一样式,即为数据加载的默认样式。加载…

Stable Diffusion攻略集(Stable Diffusion官方文档、kaggle notebook、webui资源帖)

文章目录第一部分一、 Features:Textual Inversion(文本反转)1.1 Textual Inversion 简介1.1.1 摘要1.1.2 算法1.1.3 模型效果1.2 Textual Inversion of webai1.2.1 预训练embedding用于图片生成1.2.2 训练embedding1.2.3 Finding embeddings…

【Redis】知识体系结构构建以及常见考题汇总

【Redis】知识体系结构构建以及常见考题汇总1、思维导图2、Redis体系结构:原理、部署2.1、Redis实现原理2.1.1、Redis中数据结构2.1.2、不同对象的数据类型(基本类型、特殊类型)2.2、Redis部署2.2.1、基本配置(缓存的更新、删除和…

【Linux】基础命令

目录 1.ls指令 2.pwd指令 3.cd指令 4.touch指令 5.mkdir指令 6.rmdir指令 && rm 指令 7.man指令 8.cp指令 9.mv指令 10.cat指令 11.less指令 12. head和tail 13.date指令 14.grep指令 15.bc指令 16.重要的几个热键 1.ls指令 语法:ls 选项 …

Taro React组件开发(2) —— RuiEditor 富文本编辑器【兼容H5和微信小程序】

1. 富文本编辑器需求分析 需要实现图片上传显示,上传使用Taro的 chooseImage 和 uploadFile,完成图片的上传!!!文字的居左、居中、居右展示,使用格式化方法 format!!!文字的加粗、倾斜、下划线,使用格式化方法 format!!!2. 富文本编辑 获取提示文本 placeholder;…

【C++】string类常用函数接口

在使用库函数中的string类时,需要包含头文件#include 。 1.构造函数和拷贝构造 string s1;string s2("hello world");string s3(s2);下面通过VS调试的监视窗口看一下初始化之后的内容: 还有一种构造函数,是拷贝一个字符串的一部分…

Kubernetes 1.26 新功能 Pod 调度就绪特性解析

Kubernetes 1.26 新功能 Pod 调度就绪特性解析 Kubernetes 1.26 引入了 Pod 的一个新特性:scheduling gates。在 Kubernetes 中,调度门是告诉调度程序何时准备好考虑调度 Pod 的 keys。 它解决了什么问题? 当一个 Pod 创建时,调…

从发现SQL注入到ssh连接

前言: 某天,同事扔了一个教育站点过来,里面的url看起来像有sql注入。正好最近手痒痒,就直接开始。 一、发现时间盲注和源码 后面发现他发的url是不存在SQL注入的,但是我在其他地方发现了SQL盲注。然后改站点本身也可…

C++/Java调用C++动态链接库————附带示例和详细讲解

文章目录0 准备1 C调用动态链接库2 Java调用C动态链接库3 运行0 准备 在CMake中,使用如下的方法把代码编译成动态/静态链接库: # 设置项目名 project(getMatInfo)# 设置c版本 set(CMAKE_CXX_STANDARD 11)# 如果不填写SHARE,默认为静态链接…

Spring Security开发实践

Spring Security 是 Spring 家族中用于提供认证、授权和攻击防护功能的一套安全框架。它也是 Spring 应用在安全框架方面的公认标准。 Spring Security 安全框架适合为 Spring Boot 项目提供安全保护,所以如果您是个 Spring Boot 项目的开发人员,且正在寻…

Python 将视频按照时间维度剪切 | Python工具

目录 前言 环境依赖 代码 总结 前言 本文提供将视频按照时间维度进行剪切的工具方法,一如既往的实用主义。 环境依赖 ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安装部署_阿良的博客-CSDN博客 本文主要使用到的不是ffmpeg&a…

基于Vue.js+Node问卷调查系统的设计与实现

作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云…

ORM框架

ORM框架可以做的两件事: 创建、修改、删除数据库中的表(不用写SQL语句)。【无法创建数据库】操作表中的数据(不用写SQL语句) 1.安装第三方模块: pip3.9 install mysqlclient 2.创建数据库: 启动Mysql服务…

20221226编译Toybrick的TB-RK3588X开发板的Android12系统2-SDK预处理

20221226编译Toybrick的TB-RK3588X开发板的Android12系统2-SDK预处理 2022/12/26 16:40 结论: 1、风火轮技术团队的技术支持力度欠佳! 淘宝客服只能处理发货问题,发发SDK还可以,技术问题只能找联系方式 联系手机:18926…

一起从零开始学VUE(16)生命周期与组合式API

文章目录生命周期自定义hook函数toRef其他组合APIshallowReactive与shallowRefreadonly与shallowReadonllytoRaw 与 markRawcustomRefprovide与inject响应式数据的判断生命周期 除了直接写对应的钩子函数外,Vue3.0也提供了composition API形式的钩子函数&#xff0c…

【再学Tensorflow2】TensorFlow2的建模流程:电影评论分析

TensorFlow2的建模流程:电影评论分析词嵌入技术数据准备定义模型训练模型评估模型使用模型保存模型参考资料情感分析无处不在,它是一种基于自然语言处理的分类技术。其主要解决的问题是给定一段话,判断这段话是正面的还是负面的。情感分析的本…

KDE桌面环境下电源管理对应的文件及选项

在KDE桌面环境下,“系统设置”—>“电源管理”—>“高级电源设置”的界面如下: 点击界面中的“配置通知”选项,界面如下所示: 其中图形界面下的各项设置对应的文件为~/.config/powerdevil.notifyrc。上图状态下&#xff0c…