终究怎样做架构设计 80后聊架构

  • 电脑网络维修
  • 2024-11-14

相关文章:《 80后聊架构:终究什么是架构设计? | 架构师之路

做了多年架构设计,很多人连架构设计的关键流程和步骤都不知道。

很多人确实上线了很多系统,也确实做了很多需求,但基本上都是毫有方法,全凭自己构想的在做架构设计。

总的来说,架构设计有四个大的步骤,其中第二个步骤最容易被大家疏忽。

画外音:他人写文章,都说最后一个步骤最关键,我就是不按套路出牌,说第二个步骤最关键。

步骤一:了解需求以及定义系统边界。

Understand the problem & Identify the scope of the system.

了解需求,外围是和产品确定配置要求,以及依据业务确定性能要求。

定义系统边界,外围是要明白系统哪些要做,哪些不做。

步骤二:也就是最容易被疏忽的一个步骤,调研已有的相似的系统。

Research on existing systems.

你做的系统,是业内独创吗?假设不是,看看相似的系统是怎样做架构设计的。参考成熟的打算,能让你的架构设计事倍功半。

步骤三:顶层设计。

high-level architecture design.

设计系统的关键组件,以及它们之间的交互形式。例如:

这里要蕴含系统架构的粗略图,以及成功外围需求的流程图。

步骤四:也是十分关键的一个步骤啊,处置关键矛盾迭代设计。

Refine the design.

(1) 顶层设计完之后,哪里是系统的关键矛盾?

我们要依据潜在的关键矛盾,细化与迭代顶层设计。

例如:你要做一个计数系统,对推文的阅读,转发,点赞,评论数启动计数。

(2) 假设关键矛盾假设是并发,1秒10万次?

那或者就要添加一些失望锁,异步,批量恳求,Copy On Write等奇妙设计,甚至就义一些分歧性。

(3) 假设关键矛盾是分歧性,不准许数据出错?

那或者就要添加一些互斥,校验,write-ahead logging等奇妙设计。

迭代设计,处置完一个关键矛盾,继续处置无所谓矛盾,直到一切的配置需求与性能需求获取满足。

这外面有个中央要留意:在第四步迭代设计的环节中,有或者会发现第三步顶层设计的毛病。这个时刻,或者要提升甚至颠覆第三步顶层设计。

这也是为什么,一些系统运转了几年,就要启动重构。现在的顶层设计曾经满足不了现有的业务需求了。在原有顶层设计基础上,处置不了关键矛盾了,那就重构顶层设计来处置。

这也是我十分推崇的两大外围架构设计理念:

这两个架构理念,我会在接上去的100个架构常识点里重复提及。

我们举个例子。

假设业务需求是:“我想做一个1万属性,100亿数据,每秒10万吞吐的分类信息平台,像58同城一样,2个月成功”。

(4) 如何来做架构设计呢?

第一步,探求配置需求,性能需求,确定系统边界。

分类信息的特点是什么?

招聘、房产、二手、二手车、黄页... 品类单一,帖子schema不固定...

分类信息的典型场景是什么?

帖子颁布,帖子阅读,帖子搜查(每个属性都或者被搜查)...

需求的性能要求是什么?

数据量渺小,吞吐量渺小,用户实时访问,恳求延时敏感...

第二步,调研相似系统的打算。

国外信息分类做得最好的应该是 Craigslist 了,网上调研一些相关的资料,可以了解到,其外围的一些关键设计点:

①如何品类裁减?

服务垂直拆分,数据垂直拆分...

②如何裁减属性?

应用 MongoDB 的 schema-free 个性...

③如何成功搜查?

早期应用 MongoDB 的索引,前期应用搜查服务...

④如何应答大数据量,高并发量?

数据水平切分,逻辑处置服务化,集群化,缓存降落数据库压力...

总之,经过调研,对已有的打算有个初步的了解。

第三步,架构顶层设计。

微观上,联合Craigslist的一些成熟通常:

大的方向基本就能掌握住。

第四步,依据关键矛盾迭代设计。

① 关键矛盾1:多品类帖子数据的分开存储,使得外围业务流程及其复杂,怎样解?

潜在打算:一致帖子中心服务IMC(Info Management Center)。

② 关键矛盾2:多品类帖子属性的分级,裁减与校验,怎样解?

潜在打算:一致分类治理服务CMC(Category Management Center)。

③ 关键矛盾3:大数据量,高并发,跨品类的多属性搜查,怎样解?

潜在打算:一致信息检索服务E-search。

这里,是一个架构设计环节的案例演示,关键用以说明设计流程。详细“1万属性,100亿数据,每秒10万吞吐的分类信息平台”的设计细节,详见后文的补充阅读资料。

回归今天话题,架构设计的四大步骤:

有人问,第二步自创已有成熟系统的打算,在别的架构设计方法中,没有看到过这个步骤呀?莫不是搞笑的吧。

我十分轻薄地申明,这个步骤十分关键,调研必定要多花期间。不行的程序员,看谁的代码都是屎;不行的架构师才会以为,我的打算最牛逼,他人的打算都是屎,但其实,自己原创的大局部打算才是屎。

坚持放开的心态,自创低劣的打算,是低劣架构师的外围质量。

“自创”这一点,任何不接地气的架构方法,都不会有人说。

补充阅读资料

上述案例架构设计打算细节,详见:《 1万属性,100亿数据,每秒10万吞吐,架构如何设计? 》

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/4798.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号