Skip to content

Commit

Permalink
稳定性信息
Browse files Browse the repository at this point in the history
  • Loading branch information
askuy committed Jun 5, 2024
1 parent 3a5f82e commit 1ea8999
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 1 deletion.
7 changes: 7 additions & 0 deletions docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,13 @@ var _hmt = _hmt || [];
"chapter1/error",
],
},
{
title: "第二章 稳定性",
collapsable: false, // 可选的, 默认值是 true,
children: [
"sla/overview",
],
},
],
"/micro/": [
"大纲",
Expand Down
2 changes: 1 addition & 1 deletion docs/practice/chapter1/egotrace.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## 6 Ego Access 自定义链路
## Ego Access 自定义链路

日志、链路、监控可以说是微服务治理的三驾马车,如下所示。
![img_1.png](../../images/egoaccesstrace1.png)
Expand Down
69 changes: 69 additions & 0 deletions docs/practice/sla/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: 稳定性-介绍
description: 稳定性的重要性
meta:
- name: 系统稳定性, 可靠服务, 可用性
content: 系统稳定性指系统在面对业务数据量增长或者各种意外事件时,仍能持续提供可靠服务的能力
---
## 稳定性-介绍
### 稳定性的重要性

系统稳定性指系统在面对业务数据量增长或者各种意外事件时,仍能持续提供可靠服务的能力。这种能力对于企业、客户都是非常重要的,其价值主要体现在以下7个方面[1]

* **用户满意度:**稳定的系统能够提供更好的用户体验,减少服务中断、加载延迟或崩溃等问题,提高用户满意度。
* **业务连续性:**如果系统频繁崩溃或不可用,业务操作将受影响,导致业务中断,损失收入和客户。系统稳定性能够保证业务的连续性。
* **数据保护:**系统不稳定可能导致数据丢失或泄漏,对业务造成严重损害。稳定的系统能够有效保护数据的完整性、可用性和保密性。
* **企业声誉:**稳定的系统代表着专业和可信赖的形象。企业在客户和合作伙伴中建立良好的声誉,有助于增强市场竞争力。
* **效率和生产力:**稳定的系统意味着员工能够无缝地执行任务,不必花费时间应对系统故障。高稳定性的系统,能够提高工作效率和生产力,减少工作中断。
* **成本控制:**不稳定的系统可能需要投入大量的人力、时间和资源,稳定的系统减少了资源投入,降低了企业的维护成本。
* **业务增长:**稳定的系统为业务增长创造了条件。企业可以专注于业务拓展,而不必过多担心系统稳定性问题。
因此保障系统的稳定性,是我们最重要的工作。

### 怎么定义稳定性

要想保障服务的稳定性,我们需要一种统计方式定义系统是否稳定。目前业界有两种衡量系统可用性的方式,一个是时间维度,一个是请求维度,我们先来看这两个维度的计算公式[2]

* 时间维度 :**Availability = Uptime / (Uptime + Downtime)**
* 请求维度: **Availability = Successful request / Total request**
这两个维度计算公式运用在实际业务中,可以变为以下的描述

* 时间维度:服务可用性 =(1 - 服务月度不可用时间(分钟数) / 服务月度总时间(分钟数))x 100%
* 请求维度:服务可用性 =(当天总请求数 - 当天 5xx 请求数 / 当天总请求数)x 100%
我们可以根据以上的计算方式,计算出我们系统可用性的对照表

|系统可用性|故障时间/年|故障时间/天|
|:----|:----|:----|
|90%|36.5天|2.4小时|
|99%|3.65天|14.4分|
|99.9%|8.76小时|1.44分|
|99.99%|52.56分钟|8.66秒|
|99.999%|5.26分钟|0.87秒|

### 如何保障稳定性
后面我们会根据不同维度讲解稳定性
* 代码设计
* 报文大小
* 缓存
* 超时
* 重试
* 部署架构
* k8s
* 服务发现
* 优雅关闭
* 动态扩容
* 中间件
* 运行观测
* 隔离
* 连接池
* Time Wait
* Prometheus
* 5XX
* Error
* 巡查系统
* 5xx
* 故障恢复

### 引用
* [1] [什么是系统稳定性](https://www.amazonaws.cn/knowledge/what-is-system-stability/)
* [2] [稳定性系列文章1-如何评价系统稳定性?](https://segmentfault.com/a/1190000040994489)

0 comments on commit 1ea8999

Please sign in to comment.