写点什么

华仔训练营第一次作业

用户头像
方堃
关注
发布于: 2021 年 04 月 04 日

1.画出微信的业务架构图

  1. 学生管理系统毕设架构设计

需求:

1)可通过公网访问的学生管理系统

2)能够支撑管理 1000 学生

需求清晰,可以进入下一阶段判断复杂度

复杂度:

1)不需高性能、高可用

2)安全性需要保证常规的非明文密码、sql 注入攻击等

3)成本需要可控,满足开发者是普通学生的开销标准

4)功能模块包含用户管理、角色权限管理、组织管理三个。扩展性需要考虑,但是权重不大

拆分工作完成,基本定位为一次性开发、允许重启方式纠错、需要保证数据不丢失、满足普通安全性的系统。进入系统拆解阶段

拆解:

1)前置需要有公网域名,可以通过现有的云服务商购买,此方案可以固定无需做备选

2)可以使用服务商的负载均衡服务,为可选项

3)需要包含前后端、数据库。

由于技术储备包含 java 和 php,前端和后台服务均可以使用 java 或 php;

数据库需要负载 1000 人,可以使用开源版数据库例如 mysql 社区版,或使用 mongo


备选架构 1:单服务器(学生笔记本电脑)+php 做前端+java 做后端+mysql

备选架构 2:单服务器(学生笔记本电脑)+php 做前端+java 做后端+mongo

两个方案除了数据库没有差别,故不展开讲解

备选架构 3:负载均衡服务+php 做前端+java 做后端+docker 镜像挂载到服务器(学生笔记本电脑)

备选架构 4:负载均衡服务+php 做前端+java 做后端+docker 镜像挂载到服务器(云服务器)


从效果而言,最好的无疑是架构 4,使用了 docker 镜像,将服务挂到云服务器的不同端口,再使用 ng 进行负载均衡,但是成本无疑也是最高的。此方案对于没有选课服务的实现来说,各种配置都是溢出的。

所以综合考量,使用备选架构 1。首先这个是毕业设计,所以基本除了毕设展示时间,不会有真正的使用量,所以使用学生的笔记本电脑即可。php 的强项在于快速生成页面,而且有个 php 高手,所以把所有页面都交给该同学完成即可;后端服务中和前端交互较多的是用户管理,可以由一名同学负责,另外两个模块基础功能较多,可以由剩下的同学完成,分工清晰明确;使用 mysql 作为数据库,是考虑到大学期间数据库知识是必修课,所以大部分学生都有这方面的能力,而 mongo 还需要专门学习所以不考虑


用户头像

方堃

关注

还未添加个人签名 2019.02.11 加入

还未添加个人简介

评论

发布
暂无评论
华仔训练营第一次作业