专栏首页编程一生稳定性「三十六计」实战和背后的逻辑

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

背景

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

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

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

WHAT

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

WHY

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

少就是多

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

可扩展性

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

内聚解耦

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

防止雪崩

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

提高性能

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

故障运维

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 实现一个自己的搜索引擎的初始规划

    静儿
  • 技术专家写代码-以点带面谈做开发

    静儿
  • Kubernetes的污点和容忍(上篇)

    搭建了一个k8s(Kubernetes)的事件监听服务,监听事件之后对数据做处理。有天报了一个问题经调查是新版本的k8s集群添加会把unschedule等信息通...

    静儿
  • [INS-20802] Oracle Net Configuration Assistant failed

            [INS-20802] Oracle Net Configuration Assistant failed。在安装Oracle 11g R2时出...

    Leshami
  • hive学习笔记——Hive表中数据的导入和导出

        在创建数据表的过程中,Hive表创建完成后,需要将一些数据导入到Hive表中,或是将Hive表中的数据导出。

    zhaozhiyong
  • hive学习笔记——Hive表中数据的导入和导出

        在创建数据表的过程中,Hive表创建完成后,需要将一些数据导入到Hive表中,或是将Hive表中的数据导出。 一、将数据导入Hive表 Hive表的数...

    zhaozhiyong
  • ORACLE数据类型

     字段类型   中文说明   限制条件   其它说明       CHAR   固定长度字符串   最大长度2000   bytes            ...

    Tony老师
  • 英方获灾备行业骄人成绩,源自“数据不丢,业务不停”的匠心理念

    今天(11月15日)下午,在媒体沟通会上,英方CEO胡军擎表示,正是基于“数据不丢,业务不停”的匠心理念,英方用户得到飞速增长,并且每年销售业绩平均环比增长已达...

    挖掘大数据
  • Swift 买卖股票的最佳时机 II

    设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交易(你必须在再次购买前出售股票)。

    韦弦zhy
  • Oracle 10g Express Edition安装删除心得。。。

        由于要使用ODM,最好还是装个oracle,但可能由于本科时使用过oracle 9i的缘故,搞的现在还是好担心它的运行情况,所以下了个Oracle ...

    bisal

扫码关注云+社区

领取腾讯云代金券