架构训练营: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.主要是为了设定项目计划

相关推荐
车载诊断技术8 小时前
电子电气架构 --- 什么是EPS?
网络·人工智能·安全·架构·汽车·需求分析
武子康8 小时前
大数据-258 离线数仓 - Griffin架构 配置安装 Livy 架构设计 解压配置 Hadoop Hive
java·大数据·数据仓库·hive·hadoop·架构
9527华安13 小时前
FPGA多路MIPI转FPD-Link视频缩放拼接显示,基于IMX327+FPD953架构,提供2套工程源码和技术支持
fpga开发·架构·音视频
三桥彭于晏19 小时前
B/S 跟C/S架构的区别
架构
小蜗牛慢慢爬行1 天前
如何在 Spring Boot 微服务中设置和管理多个数据库
java·数据库·spring boot·后端·微服务·架构·hibernate
小扳1 天前
微服务篇-深入了解 MinIO 文件服务器(你还在使用阿里云 0SS 对象存储图片服务?教你使用 MinIO 文件服务器:实现从部署到具体使用)
java·服务器·分布式·微服务·云原生·架构
盛派网络小助手1 天前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
快乐非自愿2 天前
分布式系统架构2:服务发现
架构·服务发现
2401_854391082 天前
SSM 架构中 JAVA 网络直播带货查询系统设计与 JSP 有效实现方法
java·开发语言·架构
264玫瑰资源库2 天前
从零开始C++棋牌游戏开发之第二篇:初识 C++ 游戏开发的基本架构
开发语言·c++·架构