写点什么

架构师实战营 [M1]- 微信的业务架构和学生管理系统架构设计

用户头像
LeoWang
关注
发布于: 2021 年 04 月 05 日

微信的业务架构

微信业务架构


学生管理系统架构设计(毕设)

假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:

  1. 要求可以通过公网域名访问;

  2. 要求至少 3 人合作完成;

  3. 能够支撑管理 1000 个学生;

  4. 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案

你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:

  1. 大家都会 Java,但是有一个是 PHP 高手

  2. 大家经济条件一般

方案说明

考虑到业务不需要进行更加细化的拆分,所以以下的两套方案都采用下图的业务架构


方案一:热门、前后分离

学生管理系统架构设计一

说明:

项目动静分离,利用 Nginx 做反向代理,后期服务做负载伸缩提供可能,MySQL 主从部署,考虑到是毕设项目、选取当下较为热门的 SpringBoot 做后端服务,部署方案可将 Nginx 部署到公网,通过 FRP、Zerotire One 或其他内网穿透技术将 API 服务暴露给公网服务,剩余服务内网访问。或者全部直接在本地部署,直接将 Nginx 暴露给公网。

方案二:经典,技术兼顾

学生管理系统方案二

说明:

项目采用经典项目设计,利用 Nginx 做反向代理,后期服务做负载伸缩提供可能,MySQL 主从部署,考虑到是毕设项目、项目使用 SSM+JSP 的方案进行,实现方式与 PHP 有异曲同工之妙,能有效利用 PHP 同学精通的资源,同时兼顾其他同学的业务开发,通过 FRP 或其他内网穿透技术 Nginx 暴露给公网。

选择和说明

整个项目需求业务需要承载管理 1000 名学生的数据,数量较少,单机性能足够

对于答辩的时候会根据架构方案来进行相关评分,所以技术手段越新,越有加分可能

需要选择维护成本比较低。

对于两套方案,成本和可靠性和可伸缩性都差不多,主要在对毕设的场景。

对于毕设项目来说,会建议选择方案一的实现,相对于方案二来说:

  1. 对所有同学都有一定的挑战,对于学习和技术升级有一定的帮助

  2. 技术当下热门、动静分离

对于非毕设项目来说,建议选择方案二的实现,相对于方案一来说

  1. 能够充分利用 PHP 同学的优势

  2. 能有效满足场景的业务需求


用户头像

LeoWang

关注

还未添加个人签名 2018.05.21 加入

还未添加个人简介

评论

发布
暂无评论
架构师实战营[M1]-微信的业务架构和学生管理系统架构设计