架构实战营 - 模块 3 课后作业
前言
概括:
权限
课程
人
用户:
学生
老师
学生管理系统面向老师和学生打造,围绕人、课程为核心,应对学生和老师人数不断增长结合课程多维度产生的数据而带来的信息管理复杂问题.由传统的表格等方式演变为线上系统管理来降低人数据的管理成本.该系统需要满足权限控制、信息管理、人员管理、数据稳定性,达到系统化、规范化、自动化.
词汇表
权限
集群
主从
数据高可用
降本增效
1. 业务背景
随着学校的规模的不断扩大、课程的多样化及学生数量的增加,需要处理的信息多样化、数据量不断增加,由此带来几个明显的问题:
数据管理问题:数据多样化及数据的不断增加,传递的表格数据管理已无法满足
效率问题:通过人+表格的方式处理数据的效率太低
资源问题:教师资源稀缺,传统的数据处理会占用大部分教师时间资源
基于已上背景,研发学生管理系统,统计科技的手段来将本增效
2. 约束和限制
低成本(用户群体:学生、老师)
数据稳定性(要尽可能的保障数据不能丢失)
3. 总体架构
3.1 架构分析
业务复杂度:业务需求比较复杂
质量复杂度:低
可扩展:不进行系统拆分,部署维护简单
高可用:数据不能全部丢失
高性能:1000 人的系统可暂不考虑
3.2 总体架构
4. 详细设计
4.1 核心功能
权限认证:采用 RBAC 权限模型进行权限功能的设计和实现
数据鉴权:使用令牌访问控制
4.2 关键设计
数据库可靠性:使用 mysql 主备,数据半同步
4.3 设计规范
Spring Boot + thymleaf + 开发
MySQL 使用 Innodb 存储引擎
权限认证使用 shiro
5. 质量设计
可测试性:单元测试+日志
可维护性:单体服务部署简单,直接 jar 启动即可
可观测性:后台管理系统,控制角色及授权
成本与安全:6台 4c8g 服务器, cdn, 内网访问
6. 演进规划
启动:完成系统总体架构设计,与各干系人达成目标共识,与开发团队就系统的设计与实现进行对焦
规划:wbs 分解
监控:完成系统功能模块开发及测试
收尾:上线及文档交付
版权声明: 本文为 InfoQ 作者【tony】的原创文章。
原文链接:【http://xie.infoq.cn/article/1b79a944a2751131e8e30cce3】。文章转载请联系作者。
评论