销售热线
最新公告:
新闻中心
联系我们
地址:中国·贵州省贵阳市
电话:0851-8888888
手机:13888888888(赵经理)
传真:0851-8888888
邮箱:1193159788@qq.com
公司新闻

首页 > 新闻中心 > 公司新闻

过渡架构的作用:一周处理近百起高严重性事件,如何重写这个技术负债系统?

文章来源: 文章作者: 更新时间:2021-07-03 13:42:36 点击次数:

2015 年在 AWS,我接手了一款技术债累累的产品。在一个美好的一周里,我们共处理了 70~100 起高严重性事件。这个系统不具备基本的协议,如 API 速率限制、工作优先级、或者像隔离噪音邻居这样的防御功能,但是它很容易在一秒内处理上百万个请求。换言之,在它后面有一个巨大的集群,但是这很有用。在对这个系统进行首次评估的时候,我们真的不知道从何入手。摆在我们面前的挑战似乎不可逾越。我们知道重写系统是必要的,但是我们必须获得重写系统的权利。AWS 的一个核心工程原则是:

  ……工程师们感谢我们的前辈。我们赞赏工作系统的价值,以及其中所体现的体验。我们知道,很多问题本质上都不新鲜。

  简而言之,它意味着尊重先前的事物。那时,我想我们并没有真正意识到,随着我们职业生涯的发展,这个原则将如何影响我们作为工程师和领导者的思维方式。

  重 写

  在那个时候,重写系统的想法很有诱惑力。现在回想起来,我真的很高兴我们没有这么做。而在我后来的职业生涯中,我了解到这种诱惑有一个名字:

  第二系统效应(又称第二系统症候群)是指由于期望值过高和过度自信,小型、优雅而成功的系统往往会被过度设计的、臃肿的系统所取代。

  虽然这个系统在当时处于一个不太理想的状态,但是它并不需要重写;它只是需要一点爱❤。

  过渡架构

  过渡架构实际上是迭代开发的一种漂亮说法。这意味着,要小步前进。回到这个系统:我们决定采取迭代的方法来修复我们所继承的“烂摊子”;将我们重写它的愿望搁置一边。我们有一座大山要攀登,但我们必须迈出第一步。首先,我们审视了所有的问题,然后创建一个图来排列这些问题。排列图看上去像这样……

  
这张图给了我们一种有趣的视角(图中数字系虚构)。一旦我们看到了上图中的根本原因,我们就知道系统存在两个大问题。我们需要在系统中加入速率限制,然后想办法扩展服务 X,这样它就不会在负载下崩溃。我们把小团队分成几个小组,集中力量解决这两个具体问题。我们承认这个系统的其他部分也是一团糟的,但是我们选择接受它们,因为我们知道这些问题为我们的客户解决了问题,但是却给我们带来了操作上的麻烦。几次冲刺过去了(感觉似乎是永恒的),我们最终实施了速率限制的第一次迭代。太棒了……是吗?错了! 

【返回列表】

上一篇:内乡:博物馆里的一堂特殊“党课”

下一篇:返回列表

网站首页 企业简介 新闻中心 产品展示 技术资料 销售网络 招商加盟 留言反馈 联系我们

地址:中国·贵州省贵阳市电话:0851-8888888传真:0851-8888888邮箱:1193159788@qq.com

版权所有:贵阳中瑞盛大企业管理有限公司技术支持:唯尔官网备案号:贵ICP备11017358号-1