80后聊架构:究竟什么是架构设计? | 架构师之路

科技   2024-10-30 16:24   北京  
《架构师之路:架构设计中的100个知识点》
1.究竟什么是架构设计?

在架构师面试过程中,架构设计是一个必不可少的环节。通常面试官会陈述系统的功能需求与性能需求,面试者要提出系统架构设计方案,并与面试官讨论方案里的设计折衷,方案选型与各个方案的优缺点。

那究竟什么是架构设计,architecture design 呢?


架构设计通常是指,为了满足特定的需求,我们定义系统组件,以及组件之间相互作用关系的过程。


比如说,你要满足一个个人主页的需求,系统架构只需要一个web-server,背后丢一个静态页就可以了。而如果你要满足一个十万人同时登陆的需求,系统架构就需要反向代理,web-server,service,DB,cache等诸多组件。
画外音:任何脱离业务需求的架构设计,都是耍流氓。

在软件工程中,架构设计是软件开发过程中的一个阶段,这个阶段侧重于顶层设计而不是细节设计。通常这个阶段需要设计整体的结构,组件,与组件关系。

总之,架构设计的目的是为了实现产品需求,业务需求,架构设计非常关注:
(1)整体结构;
(2)组件;
(3)组件之间的关联;

举几个案例。

案例1,业务需求:“我想做一个全网搜索引擎,不复杂,和百度类似就行,两个月能上线吗?

为了实现这个搜索引擎需求,整体的结构,组件,组件之间的关联,可能就是这样的。

案例2,业务需求:“我想做一个内容检索功能,不复杂,100亿数据,每秒10万查询而已,两个星期能上线吗?”

为了实现这个内容检索需求,整体的结构,组件,组件之间的关联,可能就是这样的。

案例3,业务需求:“检索的时效性,对用户体验来说很重要,在例子2的基础之上,必须检索出5分钟之前的新闻,1秒钟之前发布的帖子,不复杂吧?”

为了实现这个时效性需求,整体的结构,组件,组件之间的关联,可能就是这样的。

以上,就是架构设计。

补充阅读材料
案例1,2,3的架构设计方案细节,详见:
搜索需求架构设计全攻略(收藏)
6000字,慎入。

==全文完==

如《接下来,准备干一件大事...》所述,后续我将以以下的形式,系统性的分享自己的架构师之路,架构设计中的100个相关知识点:
(1)短视频,口语化吐槽式,方便大家放松“刷”;
(2)图文,相对正式,方便大家沉浸“看”;
(3)直播,面对面聊聊天,方便大家“互动”;
(4)星球分享资料,沉淀讨论,方便大家“提问”;
(5),还在纠结要不要...
画外音:均免费。

今天这是第一篇,算是一个正式的开头。

短视频已经发布第二篇,《究竟怎么做架构设计?》,主要分享了架构设计的四个核心步骤,其中第二个接地气步骤,没有哪个方法论会这么直白的说。
画外音:码字有点麻烦,短视频进度会快一些。
第2集:究竟怎么做架构设计?

视频号直播还在研究,搞懂后再直播,静候。


希望大家能有收获。

架构师之路
架构师之路,坚持撰写接地气的架构文章
 最新文章