模块三总结
一、架构师应该具备的能力
1.1 架构师基本职责
沟通业务和技术;
核心能力:判断力(业务技术和沟通);拆解(深度广度);取舍(设计决断)
1.2 架构设计流程
架构设计影响系统结构的设计;
前期:澄清不确定性;判断需求和复杂度;输出业务架构图和核心场景流程
中期:拆解,构建备选架构;输出备选方案和方案评估结论
后期:实现具体的架构方案,细化和完善;输出完整的架构设计方案
贯穿整个项目的架构验证,架构优化和迭代计划。
二、架构前期做什么
2.1 利益干系人
使用者;评估者;监督者(政府法规);维护者;构建者;投资者(内外部投资人--价格时间竞争力)
2.2 诉求排序
分组:时间,成本,范围,质量;
排序:差异性,冲突性
取舍原则,影响力原则
2.3 复杂度分析
利益干系人需求和业务核心场景需求;识别复杂度
三、架构设计中期做什么?
3.1 备选架构
架构模式:高性能,高可用,可扩展
技术选型:存储,负载均衡,分布式决策
3.2 设计过程:头脑风暴,红线筛选(成本,使用何种技术),4R 设计
3.3 备选方案:3~5 个备选;具有明显差异性;覆盖核心业务场景
3.4 应对技巧:技术宽度,积累;关键指标
3.5 比较学习法:利用比较加深记忆
3.6 360 度评价:性能,复杂度,硬件成本,运维,可靠性,人力投入。
3.7 常见维度:性能,可用性,可扩展,成本,安全,技术复杂度,团队技术储备
四、架构设计后期做什么
4.1 详细架构设计内容
架构规范:交互协议;数据格式;开发框架;
架构质量:可测试性;可维护性;可观测性;更多质量设计
4.2 详细架构设计样例:连接方式;组件内容;请求头和响应头设计
4.3 样例 2:开发框架版本;接口格式;接口响应时间
4.4 架构设计文档写作
业务背景;约束和限制;总体架构设计;详细架构设计;质量设计;演进规划
系统边界黑盒图;系统边界白盒图
评论