模块一,学习总结
因为有单独的笔记这里记录比较重要的部分。
1 架构定义
4R 架构定义
Rank Role Relation Rule
2 架构分类
按业务划分-业务架构图:颜色标识业务状态、分组管理业务功能
按领域划分
按模块划分-客户端、前端、系统/后端架构
按应用划分-应用架构
按组件划分-部署架构
3 面向复杂度架构设计
其他架构方法论:面向模式、面向风险、领域驱动
面向复杂度架构设计方法论:
本质:降低系统复杂度
思路:针对复杂的地方进行架构设计
模式:高性能、高可用、可扩展、安全、成本......
套路:分库分表、缓存、集群、分片、微服务、DDD、异地多活......
架构设计环
4 架构设计三原则
合适>简单>演进
架构设计环(结合三原则)
架构设计常见判断维度
业务+团队+技术
业务
1. 业务当前的量级
2. 业务发展速度
3. 业务的发展形态
团队
1. 团队规模
2. 团队能力水平
3. 投入的资源
技术
1. 已有技术体系
2. 当前技术能力
3. 技术成熟度
实战-外包学生管理系统
需求
分析
面向复杂度架构设计
判断复杂度=>
备选方案=>
方案取舍=>
架构设计三原则:
合适原则 1)符合团队技术水平和积累 2)开发成本低 3)系统运维成本低
简单原则 1)不进行系统拆分,部署维护简单 2)没用微服务,无需微服务基础设施
演化原则 1)一次性交付,无需考虑太多后期演化 2)学校的学生数量不会发生很大变化,系统架构够用多年
举一反三:影响架构取舍的原因:
1.团队技术水平
2.客户技术
3.客户预算
实战-学生管理云平台
云平台需求
系统需求
架构分析
面向复杂度架构设计
判断复杂度(架构设计三原则)
备选方案
方案取舍
学生管理云平台架构设计
总体架构-单机房数据隔离
1. 学校隔离设计:服务不隔离,数据隔离
2. 采用数据库隔离,每个学校建一个独立 的库
3. 数据安全:MySQL 主备复制 + 每日备份
架构核心场景 - 创建学校(流程图,引申出运维后台需求)
架构核心场景 - 用户注册(时序图)
版权声明: 本文为 InfoQ 作者【俞立夫】的原创文章。
原文链接:【http://xie.infoq.cn/article/818c0a5eb468dfe8f384038e0】。文章转载请联系作者。
评论