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

相关推荐
Lei活在当下6 分钟前
【尚未完成】【Android架构底层逻辑拆解】Google官方项目NowInAndroid研究(4)数据层的设计和实现之data
架构
Lei活在当下44 分钟前
【Android架构底层逻辑拆解】Google官方项目NowInAndroid研究(3)数据层的设计和实现之network
架构
JiangShen1 小时前
全栈领域模型框架elpis(二)工程化
架构
Goboy2 小时前
《人月神话》:软件工程的成本寓言与生存法则
程序员·架构·设计
喵叔哟3 小时前
10. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--认证
微服务·架构·.net
utmhikari5 小时前
【架构艺术】Go语言微服务monorepo的代码架构设计
后端·微服务·架构·golang·monorepo
-代号952712 小时前
【RocketMQ】二、架构与核心概念
架构·rocketmq·java-rocketmq
ChinaRainbowSea12 小时前
Linux: Centos7 Cannot find a valid baseurl for repo: base/7/x86_64 解决方案
java·linux·运维·服务器·docker·架构
技术流Garen13 小时前
MCU与SFU:实时音视频通信架构的对比
架构·实时音视频
小华同学ai16 小时前
2K star!三分钟搭建企业级后台系统,这款开源Java框架绝了!
后端·架构·github