架构实战营 9 期第一模块课后作业
微信业务架构
学生管理系统架构设计
0) 系统角色划分
学生管理 课程管理 权限管理
1) 判断复杂度
高性能 :支撑 1000 学生管理, 无高性能要求
高可用 : 真正可用运行的系统要求绝大多数情况下可用,需要保证系统高可用
可扩展 :作为毕业设计,只需要完成基础的学生管理功能, 无扩展需求
其他 : 无多租户需求
2) 架构设计
备选架构一
方案描述:学生管理 、课程管理、权限管理 在同一个系统实现,系统内划分未 3 个子模块实现
优点:实现简单,无其他子系统访问: 部署方便
缺点:在同一个系统内实现,子模块功能容易耦合;不易扩展应对复杂业务; 修改子模块任一功能,均需全量更新
备选架构二
方案描述 : 学生管理 、课程管理、 权限管理分拆到 3 个子系统
优点:子系统独立开发上线; 通过接口隔离功能实现,避免耦合
缺点:设计子系统对外接口及交互规则,开发周期长,部署相对复杂
架构选择 : 选备选架构一
选择原因 :
1)方案需要更少的机器资源,如果选择方案二,为保证高可用,每个子系统至少需要两台机器,方案一更适合在校学生实践(合适原则)
2)作为毕业设计,只需满足基础的学生管理系统需求, 未来不会增加更多的需求,不存在扩展的问题 (简单原则)
评论