如何画好架构图

本文详细探讨了架构图的不同角度,如业务、应用和技术架构,强调了分层、模块化和原则如业务平台化、解耦、稳定性等。技术架构特别关注技术实现、非功能性特性和设计原则,如无状态、可复用和松耦合等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是架构图?

架构图 = 架构的表达 = 架构在不同抽象角度和不同抽象层次的表达

架构可以从很多个角度去看,比如:业务架构、应用架构、技术架构、代码架构、数据架构等。

从架构级别来分类,使用金字塔的说明,上层级别包含下层:系统级、应用级、模块级、代码级。
在这里插入图片描述

架构图核心要素:分层、分模块、分功能

业务/产品架构图

业务架构定义:业务架构是从业务和产品的视角出发,描述整个平台或特定产品的业务实现。它涉及业务规划、业务模块、业务流程等方面,并将实际业务拆分成不同的领域,并为这些领域设计模型,将现实世界中的业务流程转化成为可管理和可实施的抽象对象。

制定业务架构原则:业务架构原则应结合企业的具体业务情况制定。以电商平台为例,原则可能包括:

业务平台化:将业务分成相互独立的平台,如交易平台、物流平台等,并将基础业务模块化以便复用。
核心与非核心业务分离:区分电商系统的核心业务与非核心业务,优化核心业务以增强稳定性,同时使非核心业务更加多样化以满足不同需求。
业务隔离:根据不同业务的特点进行隔离,如交易平台需要保证高可用性以快速处理订单,履约业务则强调一致性,而秒杀业务需能处理高并发需求。
主流程与辅助流程区分:清晰区分电商系统中的主要流程和辅助流程,并确保主流程的顺畅运行,对于辅助流程可以采用后台异步处理,减少其对主流程的潜在影响。

应用架构图

(1)稳定原则:
一切以稳定为中心。
架构尽可能简单、清晰,追求小而美,不要大而全。
不过度设计。
(2)解耦
将稳定部分与易变部分分离。
将核心业务与非核心业务分离。
将电商主流程和辅助流程分离。
将应用与数据分离。
将服务和实现细节分离。
(3)抽象
应用抽象化:应用只依赖服务抽象,不依赖服务实现的细节和位置。
数据库抽象化:应用只依赖逻辑数据库,不需要关心物理库的位置和分片。
服务抽象化:应用虚拟化部署,不需要关心实体机的配置,动态调配资源。
(4)松耦合
跨域调用异步化:在不同的业务域之间尽量异步解耦。
非核心业务尽量异步化:在核心业务和非核心业务之间尽量异步化。
在必须同步调用时,需要设置超时时间和任务队列的长度。

(5)容错设计
服务自治:服务能彼此独立修改、部署、发布和管理,避免引发连锁反应。
集群容错:应用系统集群部署,避免单点服务。
多机房容灾:多机房部署、多活。

时序图

在这里插入图片描述

技术架构图

在这里插入图片描述

技术架构图是一种详细的框架图,它展示了构成应用系统的各个运行组件及其关系,以及这些组件如何部署在硬件上。这些组件可能包括负载均衡器(如LVS),web服务器(如Nginx),应用服务器(如Tomcat),以及其他必要的中间件或服务(如PHP-FPM)。技术架构图特别强调以下方面:

  1. 技术实现:描述系统关键技术组件和实现,如系统的分层结构、核心技术组件、组件间通信方式和数据流向。

  2. 非功能性特性:技术架构主要关注系统的可用性、性能、可扩展性、安全性、伸缩性和简洁性,确保系统级别的稳健性。

技术架构的设计原则包括:

  1. 无状态:尽量避免在本机上保存状态数据,以支持更好的扩展性和可恢复性。

  2. 可复用性:服务应设计为可复用的业务逻辑抽象,服务之间的引用仅依赖于服务的抽象而不是实现细节。

  3. 松耦合:跨业务域的调用应尽可能异步解耦,同步调用时应有超时和队列大小设置,以及将基础服务与易变流程服务分离,减少依赖性。

  4. 可治理原则:确保服务可以灵活地进行降级、限流、开关控制和监控,以及实施白名单机制和服务契约,保障服务质量。

  5. 基础服务:将基础服务(如时效、库存和价格计算)下沉并复用,确保基础服务的自治性、独立性、精简性和水平扩展能力,以及物理隔离,包括相关数据。

代码架构图

在这里插入图片描述

数据架构图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会说话的皮卡丘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值