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

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

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

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

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

比如说,你要满足一个个人主页的需求,系统架构只需要一个web-server,背后丢一个静态页就可以了。而如果你要满足一个十万人同时登陆的需求,系统架构就需要反向代理,web-server,service,DB,cache等诸多组件。

画外音:任何脱离业务需求的架构设计,都是耍流氓。

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

总之,架构设计的目的是为了实现产品需求,业务需求,架构设计非常关注:

  • 整体结构;
  • 组件;
  • 组件之间的关联;

举几个案例。

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

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

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

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

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

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

以上,就是架构设计。


责任编辑:赵宁宁 来源: 架构师之路
相关推荐

2023-08-20 12:21:18

软件开发架构设计

2018-11-23 09:52:24

架构设计架构师

2020-12-08 11:17:41

微内核架构设计

2011-04-07 16:06:18

测试架构师测试架构

2018-07-03 15:46:24

Java架构师源码

2021-10-25 09:41:04

架构运维技术

2019-07-23 18:15:26

技术大数据数据库

2018-11-28 09:38:34

微服务架构API

2013-04-19 15:12:17

架构师WEB架构师

2020-05-15 08:38:33

架构师高级开发互联网

2018-02-06 09:58:48

架构师MVCiOS

2020-11-25 09:56:48

架构运维技术

2022-06-15 10:04:51

存储选型MySQL

2009-02-23 11:18:06

J2EE架构师Java

2012-12-13 09:47:15

软件架构师架构师

2012-08-04 16:02:00

架构师

2010-12-28 10:40:50

admin

2022-03-01 07:00:00

AI架构师人工智能

2015-06-10 11:22:41

云计算云架构师

2009-03-10 15:30:51

测试架构师软件测试职场
点赞
收藏

51CTO技术栈公众号