10. 软件设计&架构-架构师之路-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字,慎入。


本文的引用仅限自我学习如有侵权,请联系作者删除。

参考知识

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


相关推荐
摸鱼仙人~1 小时前
校招帮简历字段匹配架构分析报告
java·前端·架构
2603_954708312 小时前
微能网协调控制箱的架构优势对能源管理的影响?
大数据·人工智能·分布式·安全·架构
zhongben123_2 小时前
从0到1开发一款生鲜配送APP:核心技术难点与架构避坑指南
大数据·运维·人工智能·ios·架构·web app
loulanyue_2 小时前
10000P国产算力破壁上线,算电协同与超智融合打破算力孤岛:高文院士图灵奖得主纵论世界算力网新纪元——读2026世界算力网大会实录
人工智能·大模型·架构设计·高性能计算·算力网络
Thneonl2 小时前
0.18 也被 DENY:治理必须是台确定性机器
人工智能·架构
shoolay2 小时前
神经网络的训练与历史进程
面试·架构
Maxkim3 小时前
私钥就是数字 4:扒一扒这场把一家 CA 直接送走的事故
javascript·架构
用户094248568033 小时前
第8章:Redis Bitmap 与 BitField 实战:签到、活跃用户与状态压缩
redis·架构·源码
4SAPI3 小时前
电商全链路内容自动化生成大模型 API 生产选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
运维·人工智能·架构·自动化·1024程序员节