写点什么

模块一作业

用户头像
seawolflin
关注
发布于: 4 小时前

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


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

题目

假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下: ① 要求可以通过公网域名访问;

② 要求至少 3 人合作完成;

③ 能够支撑管理 1000 个学生;

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


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

① 大家都会 Java,但是有一个是 PHP 高手;

② 大家经济条件一般。


作业要求:

① 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。

② 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。

③ 给出你选择的最终方案以及选择理由。

复杂度判断

  • 高性能?

只需要支撑管理 1000 个学生,因此,对性能的要求不高

  • 高可用?

学生的数据不能丢失,因此,对数据存储的高可用有要求

  • 可扩展?

业务的需求比较复杂,因此,需要支持业务上的可扩展

  • 成本、安全?

在成本上,作为学生的经济实力比较弱,因此,需要尽可能的节省费用。安全性上,由于是毕业设计,不会在生产环境实际运行,安全性的要求比较低。

备选架构

由于我不熟悉 PHP,对于题目中的【有一个 PHP 高手】这个条件不知道如何去使用,以下的备选方案没有考虑 PHP

备选架构一

  • 描述

在该备选架构中,以 DNS 作为学生管理平台的入口,通过在 DNS 中配置多个服务器的 IP 地址来实现初步负载均衡;两个业务服务分别使用阿里云的 ECS 服务器作为学生管理系统的业务服务(毕设要求支撑 1000 个学生,而使用 1 台最低配的 ECS 已足够满足需求,因此这里为了节省成本,可以只使用一台 ECS);数据库采用阿里云的 RDS 云数据库,通过主备的方式满足数据的高可用。

  • 优点

架构简单,费用比较低

  • 缺点

DNS 作为负载均衡时,客户端本地会缓存 DNS,导致负载均衡不能达到很好的效果。前端页面和后端系统在同一个应用里,无法做到前后端分离。

备选架构二


  • 描述

使用 DNS 作为公网域名的解析入口,将地址解析到 OSS 上,(OSS 本身有域名,但是这个域名不具有个性化)OSS 用来存放前端资源存。前端通过 SLB 作为负载均衡,将流量转发到后端的两个(或者多个)业务服务器上;数据库也使用 RDS 的主备方案。

  • 优点

已 SLB 作为负载均衡可以达到真正负载均衡的目的,实现前后端分离,前端放在 OSS 上可以节省一个前端服务器资源。

  • 缺点

架构比较复杂,成本也相对比较高。

备选架构三

  • 描述

与备选方案一架构一致,只是把云服务和云数据库替换成物理服务器和 MySQL。

  • 优点

机器部署位置可控,可以部署在学校机房里

  • 缺点

购买物理机的成本比较高(当然如果学校可以免费提供物理机就最好了)

方案选择

通过上述优缺点的对比,和三位学生目前的经济情况,最优的方案是备选方案一

当然学校如果可以免费提供物理机,备选方案三是最优的选择。

用户头像

seawolflin

关注

还未添加个人签名 2018.01.04 加入

还未添加个人简介

评论

发布
暂无评论
模块一作业