架构训练营:3-3设计备选方案与架构细化

3架构中期

什么是备选架构?

备选架构定义了系统可行的架构模式和技术选型

备选方案筛选过程

**头脑风暴 :**对可选技术进行排列组合,得到可能的方案

红线筛选:根据系统明确的约束和限定,一票否决某些方案(主要是内部的制度或者客户的约束)

4R设计:确定Role、Relation,基于核心场景来设计Rule

数量:3-5 哥,太少或者太多都不太合适。

差异性:有比较明显的差异

粒度:覆盖核心业务场景

架构备选方案困难

主要靠平时积累,不然排列组合也是巧妇难为无米之炊。

评估和选择备选方案

  1. 360度环评+优先级排序

从多个维度评估各个备选方案,优先级排序:将维度按照优先级排序,逐级筛选

常见架构评估维度和注意事项:

性能、可用性、可扩展、成本、安全、技术复杂度、团队技术储备、可运维性等。还是需要结合实际情况。

4 架构设计后期

中期备选方案设计给老板/利益干系人看,所以是俗称的PPT。而后期的详细架构设计给开发团队看,除了架构图外,还需要大量的文档,得用文字把相关概念、架构规范、质量等写明白。

详细架构设计

案例:微服务

架构设计文档写作

这些供参考,还得结合自己的业务落地,以【业务背景】为例:1.解决什么问题2.带来什么价值3.达成什么目标4.完成什么任务5.处于什么地位。

系统边界黑盒图来描述系统定位

【总体架构设计】

1.Rank 2.Role 3.Relation

【详细说明】

1.来源于备选架构设计文档

2.用系统边界白盒图来展示Rank

3.用系统架构图来展示Role和Relation

把系统当成白盒,描述系统内的Role与同级别其它系统交互和关联关系

详细架构设计】

1.Rule 2.架构规范

【详细说明】1.结合备选架构的Rule和架构规范2.用系统序列图来展示Rule

架构质量设计】1.可测试性设计2.可维护性设计3.可运维性设计4.安全/成本设计

【详细说明】1.可能会增加新的Role,例如管理后台2.不需要面面俱到,看实际需要

【架构演进规划】

1.架构分期落地规划

【详细说明】1.主要是为了设定项目计划

相关推荐
SoFlu软件机器人8 小时前
秒级构建消息驱动架构:描述事件流程,生成 Spring Cloud Stream+RabbitMQ 代码
分布式·架构·rabbitmq
之墨_8 小时前
【大语言模型入门】—— Transformer 如何工作:Transformer 架构的详细探索
语言模型·架构·transformer
Jacob023413 小时前
为什么现在越来越多项目选择混合开发?从 WebAssembly 在无服务器中的表现说起
架构·rust·webassembly
乌恩大侠14 小时前
USRP X440 和USRP X410 直接RF采样架构的优势
5g·fpga开发·架构·usrp·usrp x440·usrp x410
俞凡16 小时前
[大厂实践] Netflix 时间序列数据抽象层实践
架构
老纪的技术唠嗑局16 小时前
走出三大困境,深耕五大场景 | 好未来AI业务探索OceanBase实现降本86%
运维·数据库·架构
张人玉16 小时前
C#分层架构
开发语言·架构·c#
昵称为空C17 小时前
Jdk21优雅处理异步任务
java·后端·架构
tangzzzfan17 小时前
使用 Swinject 实现更好的面向协议编程
架构
zkmall19 小时前
ZKmall开源商城架构工具链:Docker、k8s 部署与管理技巧
docker·架构·开源