写点什么

模块一作业

用户头像
ks
关注
发布于: 刚刚

1. 微信业务架构图


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


作业需求

  • 要求可以通过公网域名访问

  • 要求至少 3 人合作完成

  • 能够支撑管理 1000 个学生


需求分析

  • 高性能:1000 个学生, 对于系统来说,并不会造成什么压力。不需要考虑高性能。

  • 高可用:需要高可用的业务是选课还有数据(比如成绩)。

  • 可扩展:业务可能比较复杂

  • 安全:因为要求可以通过公网域名访问,一定的安全考虑是需要的(比如登录,数据安全)。但是不需要太高的安全性,因为不牵涉金融和太多的个人隐私。

  • 成本:假设成本是由 3 人团队分摊还有经济条件一般。


架构设计思路:

  • 因为资金有限,主要的考量是能提供高能支援高可用数据,一般安全性的低成本架构。

  • 因为团队有 3 人比较熟悉 Java 和 MySQL ,会优先考虑这些技术。

备选方案

方案一

优点:

节约资源:使用学校的 DNS

快速开发和维护:目前团队的主要技术是 Java

架构简单, 运维成本低

支援数据高可用,降低数据丢失。


缺点:

单机业务服务器,可用性不足


2)

优点:

节约资源:使用学校的 DNS

架构简单, 运维成本低

支援数据高可用,降低数据丢失。

用 React 作为前端可支援比较复杂的前端设计和业务流程


缺点:

单机业务服务器,可用性不足

由于团队的主要技术是 Java,对 React 比不是那么熟悉。开发时间会相对长一些。


3)

优点:

节约资源:使用学校的 DNS

可用性最高

支援数据高可用,降低数据丢失。

用 React 作为前端可支援比较复杂的前端设计和业务流程


缺点:

架构比较复杂, 运维成本会高些

开发时间最长

成本最高


最终方案

方案三不符合合适原则。因为成本超出预算,还有只需要支援 1000 个学生,用户数量也不会变化太大。

方案一和方案二都符合合适原则,成本低,架构也简单,容易维护。

虽然方案二开发时间相对长一些,但是长远来看用是有利的。因为学生系统业务比较复杂, React 作为前端可支援比较复杂的前端设计和业务流程。

最终选择的方案是 2.


用户头像

ks

关注

还未添加个人签名 2020.05.05 加入

还未添加个人简介

评论

发布
暂无评论
模块一作业