写点什么

外包学生管理系统架构文档

作者:zjluoyue
  • 2021 年 11 月 13 日
  • 本文字数:848 字

    阅读完需:约 3 分钟

1. 业务背景

随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。不仅花费大量的教师资源,

处理效率也十分低下。

为解决学生管理问题,同时尽可能降低管理成本,从学校管理现状出发,从而开发设计学生信息管理系统。

本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、规范化、自动化,其

主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等

功能设计的管理系统。

2. 约束和限制

1、成本尽可能低

2、暂无数据库要求

3. 总体架构

学生管理系统的总体架构如下


3.1 架构分析

3.1.1 高可用

学生管理系统数据最为重要,所以针对数据库做了主备模式,一方面是做容灾处理,另一方面也可演进为读写分离的模式,增强系统的整体性能

3.1.2 微服务

避免模块的故障导致其他正常功能不可用,起到一定的隔离作用

3.2 总体架构

1)系统采用微服务架构方案,按功能将系统拆分为不同的子系统,同时部署在不同的服务器上,避免模块的故障导致其他正常功能干扰,起到一定的隔离作用

2)系统包含一台主 MySQL 和一台备 MySQL,主备之间进行数据复制。

4)器宕机的情况下,备数据库服务器对外提供服务。

5)nginx 提供不同的路由对外提供服务。

4. 详细设计

4.1 核心功能


4.1.1 权限子系统

提供鉴权功能,使用 RBAC 模式设计权限系统

4.1.2 学生子系统

提供学生信息增删改查功能,但是所有请求都会经过权限系统来判断是否有访问权限

4.1.3 课程子系统

提供给学生选课,老师开课,结课打分等主要功能

4.2 关键设计

4.2.1 请求入口为统一的 nginx 网关,各个子系统以不同路由为入口;

  • 4.2.2 数据库为主备设计

  • 4.3 设计规范

    1)学生管理系统使用 Spring Boot 开发,为 B/S 模式

    2)MySQL 使用 Innodb 存储引擎

    3)子系统之间的调用使用 RPC

    4)对外接口满足 rest 风格

    5. 质量设计

    可测试性:完成并提供各个接口的测试方案及用力

    可维护性:各个模块的详细设计文档

    可观测性:提供服务及服务器的监控

    6. 演进规划

    6.1 一期:

    完成学生管理系统的服务基本功能

    6.2 二期

    提供服务以及服务器的可观测性的方案


    发布于: 4 小时前阅读数: 4
    用户头像

    zjluoyue

    关注

    还未添加个人签名 2019.10.11 加入

    还未添加个人简介

    评论

    发布
    暂无评论
    外包学生管理系统架构文档