稳定性思考

技术文档网 2021-04-16

产品功能线

0-1:

当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求

1-10

系统已经搭建起来,此时考虑的是系统的稳定性。

可用性:1.隔离:区分出核心和非核心功能,保留核心功能

           2.冗余:双活服务,当一个机房的服务挂掉时,能够迅速切换到另一个机房,保证服务的可用性

           3.容灾:抵抗外部服务变更,通过切流、限流手段

           4.变更:保证自身业务的稳定,比如业务迭代升级、业务代码规定(id越界问题)

           5.运维友好:方便定位问题

目的:不论输入如何变化(包括外部和内部的所有变化),都能够维持一个稳定的输出


如何能够查看系统是否健康稳定->如何做监控

我们可以把监控分为三个纬度:基础监控、服务监控、业务监控

1.基础监控:内存、cpu

2.服务监控:各个子服务、模块或者依赖模块的qps、延迟等

3.业务监控:接口的请求量、流量

日志指标:

1.基础log、metrix 用来监控业务整体状况:qps、耗时、

2.trace 聚焦到特定问题, traceid、spanid、pid


稳定性问题预防:

出现问题时又一系列手段去修复问题,但更好的方法是把问题扼杀在摇篮里,这需要进行预防。那么在问题没有出现之前,该预防什么呢

1.潜在性风险:从历史经验和业务功能上得出故障点,比如有一个场景是服务回滚速度慢、如果线上出现问题回滚时就会有风险

解决方法:服务体检,即周期性故障演练

并且把这种故障演练逐渐变成自动化、智能化演练

2.链路风险分析:链路度量

3.定位自动化:把故障问题归类、能够根据现有条件固化预案、通知对应人员解决问题,行程问题定位-解决的连动


db预防方法

权限方面:账号分离

制定操作规范

性能成本

相关文章

  1. 硅谷互联网公司的开发流程

    开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro

  2. RESTful-表述性状态转移风格

    REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表->就是产品资源 最重要的是如何表示一个资源 地址即

  3. 稳定性思考

    产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能

  4. Supervisor守护队列发邮件

    安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et

  5. 安装libsodium,让服务器支持chacha20等加密方式

    用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod

随机推荐

  1. 硅谷互联网公司的开发流程

    开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro

  2. RESTful-表述性状态转移风格

    REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表->就是产品资源 最重要的是如何表示一个资源 地址即

  3. 稳定性思考

    产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能

  4. Supervisor守护队列发邮件

    安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et

  5. 安装libsodium,让服务器支持chacha20等加密方式

    用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod