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

相关推荐
眠りたいです5 小时前
基于脚手架微服务的视频点播系统-播放控制部分
c++·qt·ui·微服务·云原生·架构·播放器
Aczone287 小时前
硬件(五) 存储、ARM 架构与指令系统
arm开发·嵌入式硬件·架构
闲看云起7 小时前
从 GPT 到 LLaMA:解密 LLM 的核心架构——Decoder-Only 模型
gpt·架构·llama
大咖分享课8 小时前
架构性能优化三板斧:从10秒响应到毫秒级的演进之路
性能优化·架构
echoyu.9 小时前
消息队列-初识kafka
java·分布式·后端·spring cloud·中间件·架构·kafka
程序猿阿伟9 小时前
《云原生微服务治理进阶:隐性风险根除与全链路能力构建》
微服务·云原生·架构
小马哥编程11 小时前
【软考架构】第五章 软件工程基础知识:5.1软件工程概述
架构·软件工程
一直_在路上11 小时前
Go项目实战案例解析】:以Go语言之道,构建电商高并发架构
后端·架构
一直_在路上11 小时前
Go语言并发编程架构师指南:从基础到企业级实战
后端·架构
车口11 小时前
一套代码实现表单新增,编辑和预览
架构