架构训练营模块一作业
微信业务架构图
学生管理系统架构设计
备选 1
备选 2
在学校一级域名下注册子域名,绑定 nginx ip,提供公网域名服务。
最终选择方案 2,理由:
业务有较多存取文件的需求,其中一个架构考虑使用对象存储服务器负责文件管理。因系统只需要支持 1000 名学生,文件不会占用很大的空间。最终去掉了对象存储服务器。之后若需要提供更完善的文件服务,在当前架构下增设对象存储服务器也较为方便。
因数据库只有一台会存在数据全部丢失的风险,使用两台服务器做数据库主备,因支撑用户量不大,经济条件一般,故服务器与数据库没有分开使用物理机,通过 nginx 做路由。文件可根据用户账户做 hash 决定存放在哪台物理机。
用户管理
负责账户相关功能
管理账号可生成其他账号,对其拥有完整权限,可修改、删除、查询;
管理员可给其他账号分配权限,如给教师账号评定学生成绩和试卷的权限;
不同账号登录会依据不同权限展示不同窗口;
提供账号绑定第三方功能,如微信等,使其可通过这些途径找回账号;
生成账号时绑定对应的组织管理层级,可通过该层级检索相应账号。
权限管理
创建各种权限,将其分配至不同账号,使其拥有对应的功能。
课程管理
提供成绩查询、课程录入、选课、派克、教材、文件查询等功能;
可通过权限控制不同账号拥有哪些功能。
考试管理
提供试卷上传,题库,自动出题,生成试卷,阅卷等功能。
评论