稳定性「三十六计」实战和背后的逻辑

简介: 稳定性「三十六计」实战和背后的逻辑

背景


不同于《编写代码的「八荣八耻」》《稳定性「三十六计」》是应用于设计阶段的非手脚架方式的标准化。


在实际工作中,通常会提倡给新人机会,让他们自己去设计系统。这时候如果没有一种标准化的check机制,会影响整个系统的质量。《稳定性「三十六计」》在实际项目中,我们作为设计阶段的checklist来用。实现了从有重大变更允许出小错到架构演进过程中周可用性不低于3个9。


同时,我们是一个做容器化的团队。不断实践和总结好的方法并且推广这些方法,让所有的部门都更标准化的设计和开发更利于容器发挥自身的优势,为打造更稳定、更易用、更省钱的HULK系统打下基础。

 

WHAT


下面是我们容器的剩余资源历史记录功能在设计阶段的稳定性「三十六计」checklist.


1112728-20190417200030288-1405662742.png


1112728-20190417200121759-1956863791.png


WHY


设计有很多好的原则:避免过渡设计、防止破窗……但是对于新人来说落地困难。稳定性「三十六计」给出了具体的设计方法,使用这种方法可以达到下面的效果:


少就是多


少就是多是稳定性的重要原则。稳定性「三十六计」里通过消除临时、链路精简、负代码行、最小API、避免重复、拒绝环路六项更可量化的措施来保证。

 

可扩展性


无状态化、幂等设计、读写分离、容量冗余四个方法给负载均衡、避免单点提供了解决方案,使得系统可X轴、Y轴扩展。


内聚解耦


配额管控、严格准入两个方法实际上将一个功能拆分成了两个阶段。先check再do。异步通信将一个过程拆分成两个过程,降低了两个过程之间的相互作用。


防止雪崩


超流熔断、禁止批量、超时重试、分级管理、快速失败五个方法有效避免问题逻辑对其他逻辑引起的干扰,防止问题扩大。


提高性能


缓存为王、无锁并发、梯级存查、流量缓存、本地代理、避免串联六个方法也是业务比较流行的提高性能的错误。


故障运维


兜底策略、先验确保、前置加载三个方法将问题控制在前面的阶段。开关上线、灰度升级、应急预案、支持回滚四个方法在产生问题时给出了有效的应急解决措施。

 

对于一些新人来说,划分边界和领域是相对困难的事情。稳定性「三十六计」提供了设计思路。同时,我们不重复造轮子,设计时引用了很多基础设施时,很多稳定性「三十六计」的内容是通过第三方来保证的,而这个checklist有效的促使设计者进行反向设计,使用的时候也去了解其原理。

 

HOW


请参考《稳定性「三十六计」》系列文章。

稳定性「三十六计」- 配额管控

设置默认的超时和重试是一个基础设施的基本素养

稳定性「三十六计」- 无状态化

相关文章
|
30天前
|
存储 缓存 监控
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(场景问题分析+性能影响因素)
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(场景问题分析+性能影响因素)
36 0
|
30天前
|
存储 算法 Java
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)(一)
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)
30 1
|
30天前
|
存储 设计模式 监控
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)(二)
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)
27 0
|
30天前
|
Java API
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)(三)
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)
24 0
|
5月前
|
移动开发 前端开发 JavaScript
做前端技术方案选型的时候,你是怎么做决策的?
做前端技术方案选型的时候,你是怎么做决策的?
73 0
|
5月前
|
存储 消息中间件 数据库
Milvus性能优化提速之道:揭秘优化技巧,避开十大误区,确保数据一致性无忧,轻松实现高性能
Milvus性能优化提速之道:揭秘优化技巧,避开十大误区,确保数据一致性无忧,轻松实现高性能
Milvus性能优化提速之道:揭秘优化技巧,避开十大误区,确保数据一致性无忧,轻松实现高性能
|
6月前
|
运维 监控 架构师
03-揭秘大厂性能方案的奥秘!(上)
03-揭秘大厂性能方案的奥秘!
50 0
|
6月前
|
运维 监控 Java
03-揭秘大厂性能方案的奥秘!(下)
03-揭秘大厂性能方案的奥秘!
40 0
|
10月前
|
架构师 程序员
化繁为简!阿里新产亿级流量系统设计核心原理高级笔记(终极版)
不管是初入职场的小菜鸟还是有一些工作年限的老司机,系统设计问题对他们来说都是一大困扰。前者主要是在于面试;面试官来一个如何从零到一设计一个完整的系统?大多数人都会直接懵了,因为系统设计覆盖面广,而网上资料又不能面面俱到,单独背背文章肯定是不行的;后者主要在于晋升;想要从程序员进阶到架构师,系统设计是必须要踏入的一道坎,他对你的技术广度跟深度都会有一定程度的考察。
|
存储 运维 负载均衡
【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式技术特别及问题分析
【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式技术特别及问题分析
193 0
【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式技术特别及问题分析