写点什么

架构实战营第三模块课后作业

作者:Geek_53787a
  • 2022 年 6 月 08 日
  • 本文字数:1048 字

    阅读完需:约 3 分钟

外包学生管理系统的详细架构设计文档

1. 业务背景:

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

为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课 题,学生管理系统是从学生管理现状出发,根据学生管理的新要求进行开发设计的,它需要 解决学生信息管理数据信息量大修改不方便,对一系列数据进行分析时花费时间长等问题, 帮助学生管理人员有效管理学生信息。

因此学生信息管理系统可以通过系统规范化地管理、科学性统计和快速查询、修改、 增加、删除等,提高信息的准确度以及日常管理的工作效率。

本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、 规范化、自动化,其主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删 除、以及学生选课、成绩的查询等功能设计的管理系统。

2. 总体架构:

3、详细设计:

3.1 核心功能:

架构说明: 合适原则: ① 符合团队技术水平和积累; ② 开发成本低; ③ 系统运维成本低。 简单原则: ① 不进行系统拆分,部署维护简单; ② 没用微服务,无需微服务基础设施。 演化原则: ① 一次性交付,无需考虑太多后期演化; ② 学校的学生数量不会发生很大变化,系统架构够用多年。

3.2 关键设计:

详细架构设计 1 – Role&Rela 陞�on 【客户端 Role 设计】

1. 前端采用 VUE 实现,基于 restful api 与后端实现数据传输;

2. 服务端 nginx 会将请求交给 fastcgi 客户端,通过 fastcgi_pass 将用户的请求发送给 phpfpm,实现后端 php 服务交互。

【客户端和服务器的 Relation 设计】 1. 客户端与服务端采用 TCP 连接,采用 JSON 传递数据。 2.服务端提供 HTTP 接口。

【服务器 Role 设计】 为了提高服务器业务并发能力,可以考虑采用负载均衡架构,使用 nginx 作为代理服务器采 用分发请求到集群服务器。

【MySQL 的 Role 和 Rela 陞�on 设计】 采用 MySQL 主从同步,提升数据读取速度。

3.3 设计规范:

1. 接口采用 restful api 规范,采用 json 格式; 2.MySQL 采用 InnoDB 引擎; 3. 服务器采用 nginx+php-fpm 架构。 4. 前端独立部署 VUE 框架 eslint 编码规范。

4、质量设计:

1. 可测试性:MeterSphere 自动化测试框架监控 api 和页面请求状态; 2. 可维护性:k8s 管理 docker 镜像部署,shell 脚本实现自动化运维; 3.可观测性:搭建可视化管理后台和数据面板; 4. 成本:采用 mysql 和 redis,nginx,php 架构均为开源项目,可以很好的控制成本。


用户头像

Geek_53787a

关注

还未添加个人签名 2022.04.21 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营第三模块课后作业_课后总结_Geek_53787a_InfoQ写作社区