稳定性思考
产品功能线
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预防方法
权限方面:账号分离
制定操作规范
性能成本
相关文章
- 硅谷互联网公司的开发流程
开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro
- RESTful-表述性状态转移风格
REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表->就是产品资源 最重要的是如何表示一个资源 地址即
- 稳定性思考
产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能
- Supervisor守护队列发邮件
安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et
- 安装libsodium,让服务器支持chacha20等加密方式
用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod
随机推荐
- 硅谷互联网公司的开发流程
开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro
- RESTful-表述性状态转移风格
REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表->就是产品资源 最重要的是如何表示一个资源 地址即
- 稳定性思考
产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能
- Supervisor守护队列发邮件
安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et
- 安装libsodium,让服务器支持chacha20等加密方式
用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod