微信的业务架构图和学生管理系统的毕业设计
画出微信的业务架构图:
“学生管理系统”的毕设架构设计
判断复杂度:
高性能: 只有 1000 个学生, 性能不存在大问题,此次架构设计不需要考虑高性能。
高可用:只是学生毕业设计,不需要做到一天 24 小时都可用,这里需要考虑高可用。
可扩展:没有明确将来的用途,这里只是一个毕业设计,因此不考虑可扩展性。
逻辑拆分:
这里可以拆分为: 学生,课程和权限三个子系统。
物理拆分:
考虑到经济条件一般,这里不断弄多个服务器,而是把前后端及数据库都部署到一台机器上。
方案一:
方案描述:
PHP 服务器负责提供前端服务接口。
课程子系统,学生子系统和权限子系统用 java 开发,并且可以分别部署。
所有数据保存在 mysql 数据库中。
所有服务,子系统以及 mysql 数据库都部署在一台机器上。
方案二:
Nginx 做 web 服务器。
学生模块,课程模块和权限模块用 java 开发,但是他们是一个系统中的三个子模块,必须一起部署。
所有数据存储在 Mysql 数据库中。
方案选择。
选方案一,理由如下:
团队中有 php 高手,java 是大家都熟悉的技术。(合适原则)
部署简单,所有东西都部署在同一台机器上(简单原则),虽然分成了几个子系统,但是并不复杂,团队中有三个人,正好锻炼协同开发能力。
由于只是一个毕业设计,无需考虑后续演化。
评论